問題点
フォームから情報を入力し送信する際に、入力情報に不備があればバリデーションメッセージが表示されるはずが、
なぜか急に表示されなくなったので、その時の対処した内容のメモ。
デバッグやらなんやらで解決するまで丸1日はまってしまいました。とほほ
原因
以前はRailsのヘルパーメソッドである「form_for」を使用していました。
しかし、Rails5.1から「form_with」とやらが登場し、それ以前の「form_tag」、「form_for」は非推奨になったらしい。
ということで早速「form_with」に切り替えたのですが、どうやらここに原因があったようです。
解決法
「form_with」は、デフォルトで「remote: true」すなわちAjax通信が行われるように設定されているようで、
Ajax通信を行わないようにするには、以下のように「local: true」を付与する必要があるようです。
<%= form_with model: @post, local: true |f| %>