目次
エラー発生状況
フォームに入力した値をデータベースに移行させる処理の時に、Controllerアクションでエラーが発生した。
エラー発生のコード
def create
#新しいメモがフォームからPostされたときに動作するアクション
Memo.create(title:params[“memos”][“title”],body:params[“title”][“body”])
redirect_to “/”
end
エラーの原因
NoMethodError in MemosController#create
というエラーなので、Memos Controllerのなかのcreateアクションに、メソッドエラーが出ているということでした。
undefined method `[]’ for nil:NilClass
というエラーメッセージがあったので、「nilに対して[ ]メソッドは定義されてませんよ」という意味が分かったので、[ ]の中のどれかが間違っているのだと推測しました。
エラーの解決方法
[ ]の中が怪しいと思ったところ、間違っている箇所を発見(下記の赤字部分)。
誤:body:params[“title”][“body”]
正:body:params[“memos”][“body”]
def create
#新しいメモがフォームからPostされたときに動作するアクション
Memo.create(title:params[“memos”][“title”],body:params[“title”][“body”])
redirect_to “/”
end
コメント