Dan*_*ark 10 activerecord 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
Run Code Online (Sandbox Code Playgroud)
但是errors从ActiveRecord实例获取时会导致奇怪的错误.在Rails 3.x中获取漂亮的,可读的名称的正确方法是什么?
小智 29
我认为将human_attribute_name与I18n框架一起使用更简单:
在您的视图中:User.human_attribute_name("email")
在您的语言环境yml文件中:
en:
activerecord:
attributes:
user:
email: E-mail address
Run Code Online (Sandbox Code Playgroud)
我认为正确的Rails 3方法是使用转换API,但我使用的是human_attribute_name,如下所示:
def self.human_attribute_name(attr, options = {})
HUMANIZED_ATTRIBUTES[attr.to_sym] || super
end
Run Code Online (Sandbox Code Playgroud)
对super的调用可能期望options参数存在.
| 归档时间: |
|
| 查看次数: |
9633 次 |
| 最近记录: |