2012-09-07 27 views

回答

2

的方法 'distance_of_time_in_words' 處於ActionPack的/ LIB/ACTION_VIEW /助手/ date_helper.rb。所以你應該要求'action_view'和'action_view/helpers'來加載這個方法。並且該方法在模塊ActionView :: Helpers :: DateHelper中定義,您可以將它包含在您的類中。該方法是一種實例方法。

require 'action_view' 
require 'action_view/helpers' 

class Klass 
    include ActionView::Helpers::DateHelper 
end 

c = Klass.new 
c.distance_of_time_in_words(......)  
+0

這非常有幫助。我認爲最好的答案是包含所需的文件,而不包括Rails。但我收集你的答案使用Rails的寶石。 –

1

如果這是你從它想要的東西,那麼我只是去走source code和破解它刪除的依賴(這似乎僅僅是一些翻譯的I18n要支持的黑客,你可能翻譯爲this測試套件

爲什麼我會這樣做而不是使用gem?因爲它是如此巨大的依賴關係,它實在太大了,你真的注意到它加載了所有的代碼,我寧願撕掉方法,並破解它的工作,而不是依賴於所有這些(再次,假設這是你從lib中唯一想要的東西)。

+0

這在這種情況下可能很有意義,因爲如果很容易刪除依賴關係。但總的來說,包含所需文件可能更實用。 –

相關問題