2014-03-06 112 views
0

我有一個在模型中定義的常量,需要從助手內部訪問它。有沒有辦法做到這一點?示例:Rails:我如何從助手訪問模型

#app/models/my_model.rb 
class MyModel < ActiveRecord::Base 
    VALUE = 3 

    def self.get_value 
    VALUE 
    end 
end 

#app/helpers/users_helper.rb 
module UsersHelper 
    VALUE_V1 = MyModel.get_value 
    VALUE_V2 = MyModel::VALUE 
end 

VALUE_V1和VALUE_V2都失敗(未初始化的常量)。

+0

發佈錯誤的完整堆棧跟蹤 – usha

+1

您可以直接從模型(無論您需要)直接使用常量。你爲什麼要定義更多的常量? – usha

回答

1

在引用模塊中的常量時,您需要使用頂級命名空間。

所以,

value1 = ::MyModel.get_value 

此外,作爲Vimsha評論,你可以使用常量直接,無需定義另一個常量。

+0

謝謝,無論如何,我最終都在重構我的出路,但我學到了新的東西! – ivan

相關問題