У меня есть простой модуль для добавления текущего пользователя на вновь созданный объект:Ruby on Rails - одна модель может видеть модуль, другой - нет?
module AttachUsers
def create_with_author(author, params)
created = new(params)
created.author = author
created.save
created
end
def create_with_author_and_editor(author, params)
created = new(params)
created.author = author
created.lasteditor = author
created.save
created
end
end
Модуль сохранен как attach_users.rb непосредственно под Lib каталога.
Я пытался использовать этот модуль с двумя моделями. Он работал отлично с первой (комментарий) моделью, однако второй (страница) возвращает сообщение об ошибке
undefined method `create_with_author_and_editor'
У меня есть следующий в верхней части каждого из моих моделей:
extend AttachUsers
Я используя его в контроллер комментарии, как это:
@comment = @post.comments.create_with_author(current_user, params[:comment])
И в регуляторе страницы, как это:
@page = Page.new
respond_to do |format|
if @page.create_with_author_and_editor(current_user, params[:page])
Может ли кто-нибудь понять, почему он может работать неправильно? Это первый раз, когда я пытался использовать модули, извините, если это что-то очевидное.
Любые советы, оцененные.
Благодаря
Где модуль сохранен? – Matchu
Непосредственно под каталогом lib – Dan