Rails 3:如何将模块添加到模型中?

And*_*rew 2 ruby module ruby-on-rails include ruby-on-rails-3

我的Rails 3应用程序中有一个用户模型,它变得越来越大.我想提取一些与订阅计费相关的函数并将它们放在一个模块中.

这是我第一次尝试编写模块,我尝试的第一件事就是创建一个带有测试方法的最小模块,看它是否有效.

我创建了/lib/modules目录并将其添加到我的自动加载路径中.然后我recurly_extensions.rb在该目录中创建了该文件.该文件如下所示:

Module RecurlyExtensions

    def foobar
        "This works."
    end

end
Run Code Online (Sandbox Code Playgroud)

然后我将其添加到我的用户模型:

include RecurlyExtensions
Run Code Online (Sandbox Code Playgroud)

然后我尝试加载rails控制台来测试我是否可以调用.foobarUser实例.但是,控制台将无法加载.

我收到此错误消息:

/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)
Run Code Online (Sandbox Code Playgroud)

所以,它说我错过了end某个地方,但我没有看到它.

谁能帮助我了解如何正确设置模块以包含在Rails模型中?谢谢!

apn*_*ing 5

此时应更换Modulemodule