在rails中包含模块和类

我很难在/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 ,但我没有运气让它工作。

我想你可能会混淆模块的工作方式。

您需要将模块混合到一个类中,以使实例方法起作用。

 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"