LoginSignup
6
4

More than 3 years have passed since last update.

【初心者向け】form_withでundefined method `form_with' forというエラーが出た際の対応方法について

Last updated at Posted at 2020-02-20

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バージョンアップデートの手順

  1. gemファイルのrailsを5.1以上で指定する(ここでは5.2.4を指定しています)

gem 'rails', '~> 5.2.4'
  1. 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

もし
ここは違う、ここはこうした方が良い等々ございましたらご指摘いただけますと幸いです。
最後までみていただき、ありがとうございます。

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4