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 для добавления комментируемых

Другие вопросы по тегам