class String
def show(word)
word
end
end
,如果我想補充西納特拉在此方法中,我第一次嘗試添加到助手代碼,但它給了我一個都沒法錯誤,什麼是做這個在sinatra中,如果我想向String類添加一個方法,我應該在哪裏放這些代碼?
class String
def show(word)
word
end
end
,如果我想補充西納特拉在此方法中,我第一次嘗試添加到助手代碼,但它給了我一個都沒法錯誤,什麼是做這個在sinatra中,如果我想向String類添加一個方法,我應該在哪裏放這些代碼?
你不應該添加的最佳方式它作爲helpers ... do
本身就是一種方法。
你應該做的是在你的項目根目錄下創建一個ext
目錄,添加一個名爲string.rb
的文件,並將你的代碼放在裏面。
然後在你的app.rb
,加require './ext/string.rb'
這將是去做一個簡單的方法,但也有許多其他的方式來組織你的代碼。
編輯:
按以下馬特的迴應,你應該打電話給你的目錄core_ext
代替ext
'ext'可能不是最好的名字,因爲它用於擴展(即C或Java代碼)。我在幾個地方看到過'core_ext'(Rails使用它),這可能是一個更好的選擇。 – matt 2012-02-13 03:43:11
馬特,你是對的 - 謝謝你指出。我相應地更新了我的答案。 – SeanNieuwoudt 2012-02-13 06:42:03
你應該可以把它放在你的代碼的任何地方。 – three 2012-02-11 18:43:45