ruby-on-rails - 更新 rails 错误中的属性

标签 ruby-on-rails ruby rails-activerecord

我希望更新 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/

相关文章:

ruby-on-rails - 在Rails中没有默认值的情况下,change_column_default的可逆迁移

ruby-on-rails - 像 "has_many"这样的语法如何与 Class 对象交互?

ruby-on-rails - 如何获取 Mongoid 文档的所有字段名称?

ruby-on-rails - Ruby Object#id 警告和 Active Record

ruby-on-rails-3 - Ruby 数据建模 has_many 关系两种方式

ruby-on-rails - 如何创建这个 `through``关联?

ruby-on-rails - ruby on rails 设计模式

ruby-on-rails - 使用复选框更改模型( rails )上的 boolean 属性

java - Java 在控制台中使用什么输出,我如何在 ruby​​ 中捕获它?

mysql - 连接表与包含创建问题