2011-01-24 50 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