我很难在/lib
的文件中包含一些视图助手,比如我有这个:
module TwitterPost
include ActionView::Helpers::NumberHelper
def update
number_with_delimiter(1234567)
end
end
我明白了:
NoMethodError: undefined method `number_with_delimiter' for TwitterPost:Module
但是在我的控制台中,我只能include ActionView::Helpers::NumberHelper
,然后我就可以number_with_delimiter(1234567)
,而且效果很好。
这是为什么?我需要将ActionView::Helpers::NumberHelper
包括在一堆不同的模型中,但我没有运气让它发挥作用。
答案 0 :(得分:6)
我认为你可能会混淆Modules的工作方式。
您需要将模块混合到一个类中,以使实例方法起作用。
module TwitterPost
include ActionView::Helpers::NumberHelper
def update
number_with_delimiter(1234567)
end
end
class Foo
include TwitterPost
end
foo = Foo.new
foo.update
=> "1,234,567"