私は自分のコードをlintingするためにrails_best_practicesを使用しています。 コメントはユーザーに属する投稿に属します。 私comments_controller.rb
ファイルには、この railsモデルアソシエーション作成者ID
class CommentsController < ApplicationController
before_action :find_post
def create
@comment = @post.comments.create comment_params
@comment.user_id = current_user.id
redirect_to @post if @comment.save
end
private
def find_post
@post = Post.find(params[:post_id])
end
def comment_params
params.require(:comment).permit(:post_id, :body)
end
end
のように見え、私はこのエラーuse model association (for @comment)
を取得しています。私は、メソッドを作成リファクタリング後 この
def create
@comment = @post.comments.create(
comment_params.merge(user_id: current_user.id)
)
redirect_to @post if @comment.save
end
のように見える私の質問は:これを行うための最善かつ正しい方法は何ですか?