#Railsでform_withを使用した際、undefined method `form_with' for やDid you mean? form_tagと表示されてしまって詰まった話
Railsでアプリケーションを作成中、投稿フォームの実装時、form_withを使用したところ、永遠とエラーが出てしまって解決に時間がかかってしまったため、備忘録として残す。
#結論、form_withはRailsのバージョンが5.1 以上じゃないと動かないようです。
Railsガイド様いつも参考にしています
https://railsguides.jp/5_1_release_notes.html
Webcamp様にも記載ございました
https://web-camp.io/magazine/archives/17665
#何をすればいいのか?
Gemfileの中にあるRailsのgemのバージョンをアップグレードする
#Railsバージョンアップデートの手順
- gemファイルのrailsを5.1以上で指定する(ここでは5.2.4を指定しています)
gem 'rails', '~> 5.2.4'
- bundle updateする(※注意:bundle installではない!!!!)
bundle update
#Railsをバージョンアップした際にRails sで立ち上がらない問題が発生
undefined method `halt_callback_chains_on_return_false=' for ActiveSupport:Module (NoMethodError)
これが表示されたら、configファイルの中身の以下
config/initializers/new_framework_defaults.rb
以下をコメントアウト
ActiveSupport.halt_callback_chains_on_return_false = false
と
Rails.application.config.action_controller.raise_on_unfiltered_parameters = true
上記をコメントアウトし、これで通常通りRails sで起動した。
(よかった・・・・でも勉強になった)
ちなみに、ActiveSupport.halt_callback_chains_on_return_falseの意味はよくわかりません・・・。
https://techracho.bpsinc.jp/hachi8833/2017_02_21/35843
参考記事
https://qiita.com/luglio22/items/0dd520f3748935bada81
もし
ここは違う、ここはこうした方が良い等々ございましたらご指摘いただけますと幸いです。
最後までみていただき、ありがとうございます。