在ActiveSupport :: Concern上下文中訪問包含類的受保護常量的最簡單方法是什麼?在ActiveSupport中訪問包含類的受保護常量::關注
實例類:
module Printable
extend ActiveSupport::Concern
private
def print_constant
puts MY_CONSTANT
end
end
class Printer
include Printable
def print
print_constant
end
private
MY_CONSTANT = 'Hello'.freeze
end
該解決方案產生一個錯誤:
NameError: uninitialized constant Printable::MY_CONSTANT
我知道,似乎工作的一個替代的:
puts self.class::MY_CONSTANT
但是,它不感覺不錯。 :-)
有什麼更好的建議?
你的問題是我的答案。雖然我同意它感覺不對,但你的問題最終給了我一個解決方案,至少工作。 – 2014-12-25 21:14:44