Commentモデルのcontentがパラメータ値を受け取らずnilのまま保存されてしまうという状況に陥ってしまいました。
comment_paramsにコードを置き換えて一応解決しましたが、
この、nilのまま保存されてしまうという挙動(エラー反応なし)の発生理由についてご教唆いただきたいです。
変更前のコードでもあくまでエラー文は発生しませんでた。rails cで確認するとcontentカラムがnilのまま保存されています。
@comment = Comment.new(content: params[content]) ###変更前
これは、contentインスタンスを生成できていないことが原因でしょうか、
変更前
<comments_controller.rb>
class CommentsController < ApplicationController def create @comment = Comment.new(content: params[content]) ###変更部分 @comment.task_id = params[:task_id] @comment.save! redirect_back(fallback_location: root_path) end end
変更後:ストロングパラメータを使用
<comments_controller.rb>
class CommentsController < ApplicationController def create @comment = Comment.new(comment_params) ###変更部分 @comment.task_id = params[:task_id] @comment.save! redirect_back(fallback_location: root_path) end private def comment_params params.require(:comment).permit(:content) end end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/15 02:34