У меня есть простой модуль для добавления текущего пользователя во вновь созданный объект:
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])
Кто-нибудь может понять, почему он может работать неправильно? Это первый раз, когда я пытался использовать модули, извините, если это что-то очевидно.
Любой совет приветствуется.
Спасибо