2011-05-17 62 views
2

我有一個用戶模型在我的Rails 3應用程序變得巨大。我想提取一系列與訂閱賬單相關的功能,並將它們放在一個模塊中。Rails 3:如何將模塊添加到模型?

這是我第一次試圖編寫一個模塊,我嘗試的第一件事就是用測試方法創建一個最小模塊,看看它是否工作。

我創建了/lib/modules目錄並將其添加到我的自動加載路徑中。然後我在該目錄中創建了文件recurly_extensions.rb。該文件是這樣的:

Module RecurlyExtensions 

    def foobar 
     "This works." 
    end 

end 

然後我說這我的用戶模型:

include RecurlyExtensions 

然後我試圖加載軌控制檯來測試,如果我能在用戶實例調用.foobar。但是,控制檯不會加載。

我收到此錯誤信息:

/Users/Andrew/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:454:in `load': /Users/Andrew/Rails/fourth_env/lib/modules/recurly_extensions.rb:7: syntax error, unexpected keyword_end, expecting $end (SyntaxError) 

所以,它說我缺少一個end地方,但我沒有看到它。

任何人都可以幫助我理解如何正確設置模塊以包含在Rails模型中?謝謝!

+2

是什麼'Module'取代Module?它應該是'module' – apneadiving 2011-05-17 19:50:21

+0

哦,大聲哭泣,這就是所有錯誤。嘖!嘿,你爲什麼不張貼這個答案,以便我能接受它? – Andrew 2011-05-17 19:53:25

+0

只是自己張貼 – 2011-05-17 19:54:06

回答

5

你應該module

+0

修復了一切。謝謝! – Andrew 2011-05-17 20:02:17