2012-01-25 59 views
1

我有一個困難時期,包括在一個文件中,多數民衆贊成一些視圖助手在/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

你可以參考我的答案在這裏http://stackoverflow.com/questions/4467697/rails-why-the-number-with-delimiter-method-is-not-recognized-inside-my-model/25979370#25979370 –

回答

5

我想你可能會混淆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"