【Rails】バリデーションエラー後にレイアウトが崩れるのを防ぐ
現象
フォームのバリデーションエラーで入力画面に戻った時になぜかレイアウトが崩れてしまう。
原因
エラーが出ると、そのエラーが出ている部分の要素がdiv
で囲まれてしまうからなんだそうな。
<div class="field_with_errors">フィールド</div>
エラーが出ると勝手にこのdiv
が出現する。
回避方法
config/application.rb
に下記を追記。div
が勝手に生成されなくなって、レイアウト崩れも起こらなくなった。
config.action_view.field_error_proc = Proc.new do |html_tag, instance| html_tag end
追記しただけでは変化が見られない場合はサーバーの再起動をしよう!