【Rails】undefined methodエラーの解決方法

スポンサーリンク

ユーザー規約の同意のようなチェックボックスを作っていたところ、以下のエラーが発生しました。

スクリーンショット 2016-01-23 16.26.35

viewのコードは以下のとおり。

スクリーンショット 2016-01-23 16.44.01

原因は単純で、form_forメソッドを使っているのにagreementフィールドがテーブルになかったことでした。
フィールドにないformメソッドを作り、DBに登録することなく検証だけしたいという場合は、acceptance文をmodelにvalidatesとして追加する必要があるみたい。

スクリーンショット 2016-01-23 16.37.39

これで解消しました。

スクリーンショット 2016-01-23 16.48.14

チェックしなかった場合の検証もバッチリできてますね。

他にも、アソシエーションの記述を忘れていた場合なんかも、undefined methodが吐かれることがある。
つまり、モデルに何か書き忘れていた場合に出るエラーなのかもしれない。


スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です