error_messages_for的中文化
来源:
作者:
时间:2007-09-19
点击:
error_messages = objects.map do |object|
temp = []
object.errors.each do |attr, msg|
temp << content_tag(:li, (key_hash[attr] || attr) + msg)
end
temp
end
#add end
# error_messages = objects.map {|object| object.errors.full_messages.map {|msg| content_tag(:li, msg) } }
content_tag(:div,
content_tag(options[:header_tag] || :h2, header_message) <<
# content_tag(:p, 'There were problems with the following fields:') <<
content_tag(:ul, error_messages),
html
)
else
''
end
end
使用依然兼容老的方式,你也可以传入一个哈希表,把模型字段显示成对应的中文,示例如下:
代码
- <%=
- h = {'username'=>'用户名', 'password'=>'密码'}
- error_messages_for h, :user
- %>
另外,还要在environment.rb的最后插入以下代码:
代码
- errors = ActiveRecord::Errors.default_error_messages
- errors[:taken] = '已经被使用'
- errors[:blank] = '不能为空'