acts_as_commentable можно создать без обновления?
Текущий код контроллера, который я использую для создания комментария к объекту Post:
commentable = @post
comment = commentable.comments.create
# comment.title = params[:title] #Title not needed
comment.comment = params[:comment][:comment]
comment.user = current_user
gon.post_id = @post.id #for javascript
if comment.save
....
Это также, как это рекомендуется в документах.
Есть ли способ сделать это, передав параметры в функцию.create, например
(user = current_user ....)
Это позволяет избежать двух вызовов базы данных при создании, что повышает производительность.
Кроме того, если вы используете гем public_activity, это также упрощает работу. потому что он добавляет действие "Создано и обновлено" в мою базу данных каждый раз, когда я пишу комментарий.
Thnaks
2 ответа
О, это было на самом деле очень просто.
comment = commentable.comments.create(:comment => params[:comment], :user => current_user)
Добавить: название, если вы используете эту функцию.
Я не понимаю, почему это не предусмотрено в документах? Я должен вероятно изменить это, чтобы использовать
create(comment_params)
Более простой подход для включения комментируемой модели в ваше приложение rails. Railscasts для добавления комментируемых