我正在尝试做一些非常简单的事情。我在rails 3中验证了存在:
validates_presence_of [:first_nm]
当它触发时,会发出以下蹩脚的消息:
“第一个nm不能为空”
我想覆盖错误消息,为“first nm”
提供友好的字段名称“请填写您的名字”
我已经看过各种插件,本地化,人性化属性教程,但这些似乎不起作用或过时。在Rails 3中没有简单的方法吗?
对于本地化,我试过这个:
# Sample localization file for English. Add more files in this directory for other locales.
# See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
en:
activerecord:
errors:
messages:
taken: "has already been taken"
record_invalid: "Validation failed: %{errors}"
models:
customer:
blank: "This is a custom blank message for %{model}: %{attribute}"
attributes:
first_nm:
blank: "This is a custom blank message for first name"
唉,没有运气。我的错误消息没有改变。
关于可能相关的事情。我不是从ActiveRecord继承,因为这个对象是通过soap而不是数据库保存的。相反,我有以下内容:
class Customer
extend ActiveModel::Naming
include ActiveModel::Conversion
include ActiveModel::Validations
end
答案 0 :(得分:2)
您是否在ActiveRecord localization上看过此页面?它似乎适用于Rails 3.我现在无法测试它,但是通过文档看起来你可以做到:
models.user.attributes.first_nm.blank = "Please fill out your First Name"