ruby-on-rails - Rails 3.x 中的人类属性名称?

标签 ruby-on-rails activerecord

这个问题在这里已经有了答案:




8年前关闭。




Possible Duplicate:
Custom model attribute (column name) title in Ruby on Rails



我一直在 Rails 2.x 中使用这个解决方案:
   HUMANIZED_ATTRIBUTES = {
    :email => "E-mail address"
  }

  def self.human_attribute_name(attr)
    HUMANIZED_ATTRIBUTES[attr.to_sym] || super
  end

但这在获取 errors 时会导致奇怪的错误来自 ActiveRecord 实例。在 Rails 3.x 中获得漂亮的、人类可读的名称的正确方法是什么?

最佳答案

我认为正确的 Rails 3 方法是使用 translation api ,但我使用 human_attribute_name 如下:

def self.human_attribute_name(attr, options = {})
  HUMANIZED_ATTRIBUTES[attr.to_sym] || super
end

对 super 的调用可能期望 options 参数在那里。

关于ruby-on-rails - Rails 3.x 中的人类属性名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4786733/

相关文章:

ruby-on-rails - SLIM 在多行开头添加空格

ruby-on-rails - 如何在rails中制作可变路线

ruby-on-rails - Rails 5 ActiveRecord - 在使用方法之前检查是否有任何结果

ruby-on-rails - Rails 多态 child

android - 如何在 android 中编写 Mp3 剪辑器或切割器?

nhibernate - 如何优化 CaSTLe ActiveRecord 调用

ruby-on-rails - json erb模板找不到其他html部分

ruby-on-rails - Rails 3 多重布局问题

ruby-on-rails - rails 4 where 日期时间字段上的日期方法

php - 代码点火器插入语法错误