我有一个用户模型在我的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模型中?谢谢!
是什么'Module'取代
Module
?它应该是'module' – apneadiving 2011-05-17 19:50:21哦,大声哭泣,这就是所有错误。啧!嘿,你为什么不张贴这个答案,以便我能接受它? – Andrew 2011-05-17 19:53:25
只是自己张贴 – 2011-05-17 19:54:06