RSS
热门关键字:  java  Ajax  JSP  JSF  Struts
当前位置 : 首页>Ruby>列表

error_messages_for的中文化

来源: 作者: 时间:2007-09-19 点击:

在Rails中error_messages_for为国际化的考虑不是很周全,它显示的是模型的字段名称,这对于用户来说是不友好的。为了解决这个问题,只能改它的源码了----将如下方法,放入ApplicationHelper

 

代码
  1.  def error_messages_for(*params)   
  2.     #add by glchengang   
  3.     key_hash = {}   
  4.     if params.first.is_a?(Hash)   
  5.       key_hash =  params.first   
  6.       params.delete_at(0)   
  7.     end   
  8.     #add end   
  9.   
  10.     options = params.last.is_a?(Hash) ? params.pop.symbolize_keys : {}   
  11.     objects = params.collect {|object_name| instance_variable_get("@#{object_name}") }.compact   
  12.     count   = objects.inject(0) {|sum, object| sum + object.errors.count }   
  13.     unless count.zero?   
  14.       html = {}   
  15.       [:id, :class].each do |key|   
  16.         if options.include?(key)   
  17.           value = options[key]   
  18.           html[key] = value unless value.blank?   
  19.         else  
  20.           html[key] = 'errorExplanation'   
  21.         end   
  22.       end   
  23.       # change by glchengang   
  24.       header_message = "有#{count}个错误"  
  25. #       header_message = "#{pluralize(count, 'error')} prohibited this #{(options[:object_name] || params.first).to_s.gsub('_', ' ')} from being saved"  
  26.          
  27.       #add by glchengang   

共2页: 上一页 1 [2] 下一页
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册