2011-01-24 51 views

回答

6

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

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

超级呼叫可以被期待的选项参数在那里。

+0

酷了工作。我应该检查API。只是FYI我正在使用`HUMANIZED_ATTRIBUTES [attr.to_sym] || super.split(“”).collect {| word | word.capitalize}。加入(”“)`这是可爱,但琐碎的:) – 2011-01-24 22:31:22

+2

除非我误解你在做什么,我觉得super.titleize会做同样的事情,那就是利用所有的话。 “foo bar baz”.titleize =>“Foo Bar Baz” – 2011-01-24 22:59:57

27

使用human_attribute_name对国际化架构更简单,我认为:

在你看来:User.human_attribute_name( “电子邮件”)

在您的语言环境阳明文件:

en: 
    activerecord: 
    attributes: 
     user: 
     email: E-mail address