2010-04-24 77 views
4

我有一個帶有name屬性的Adult模型。在rails中訪問模型的視圖幫助器

如果用戶登錄,我希望Adult.name只返回名字。

有沒有辦法讓助手綁定到一個模型,你可以指定Adult.helper.name?

或者至少有helpers命名空間模型?

回答

11

就明確包括助手在你的模型在控制檯

# app/helpers/adults_helper.rb 
module AdultsHelper 
    def say_hello 
    "hello, world!" 
    end 
end 

# app/models/adult.rb 
class Adult < ActiveRecord::Base 
    include AdultsHelper 

end 

測試

$ script/console 
>> a = Adult.new 
# => #<Adult id:...> 
>> a.say_hello 
# => "hello, world!" 
+0

有趣,我喜歡這種方法。 我可能不得不想到命名它的最好方法......也許Adult.public_name? – Christopher 2010-04-25 06:48:43

+0

當我嘗試在助手中生成鏈接時,這確實會產生問題,因爲我收到錯誤:「undefined method'polymorphic_path」 – Christopher 2010-04-25 07:37:29