我希望更新 Rails 发送的带有人性化属性名称的模型错误散列。例如,对于名为 Foo
的模型。我有一个名为 foo_nm
的属性。我希望在执行 @foo.errors
时翻译成 foo_name 假设 @foo
是类 Foo 的对象。
{"foo_nm"=>["can't be blank"]}
到目前为止,我尝试通过以下方式扩展 human_attribute_name
HUMANIZED_ATTRIBUTES = {
:foo_nm => "foo_name"
}
def self.human_attribute_name(attr, options={})
HUMANIZED_ATTRIBUTES[attr.to_sym] || super
end
但这似乎并没有修改错误散列。关于如何更新错误散列的任何想法将不胜感激
最佳答案
你不能在你的语言环境文件中做吗?
# config/locales/en.yml
en:
hello: "Hello world"
activerecord:
models:
foo: "Foo"
attributes:
foo_nm: "foo_name"
关于ruby-on-rails - 更新 rails 错误中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32100273/