在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