Rails 3: Как добавить модуль в модель? - PullRequest
2 голосов
/ 17 мая 2011

У меня есть пользовательская модель в моем приложении Rails 3, которая становится огромной.Я хочу извлечь набор функций, связанных с выставлением счетов по подписке, и поместить их в модуль.

Это первый раз, когда я пытался написать модуль, и первое, что я попробовал, было простосоздайте минимальный модуль с тестовым методом и посмотрите, работает ли он.

Я создал каталог /lib/modules и добавил его в мои пути автозагрузки.Затем я создал файл recurly_extensions.rb в этом каталоге.Файл выглядит так:

Module RecurlyExtensions

    def foobar
        "This works."
    end

end

Затем я добавил это в свою модель пользователя:

include RecurlyExtensions

Затем я попытался загрузить консоль rails, чтобы проверить, могу ли я позвонить .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?Спасибо!

1 Ответ

5 голосов
/ 18 мая 2011

Вы должны заменить Module на module

...