【Rails】レンダリング時のビュー崩れを一瞬で解決!
バリデーションを設定し、
画像と名前が空の状態で投稿ができないようにした。
posts_controller.rb
しかしrenderメソッドで部分テンプレートを呼び出すと
ビュー崩れが起こる。
原因
検証ツールで確認すると、
部分テンプレート呼び出し後に問題の起こったclassが
field_with_errorsというクラス名のdivタグで囲まれていた。
解決策①
ビュー崩れを起こすCSSファイルに以下の記述を追加する。
解決策②
field_with_errorsクラスが自動挿入されないように以下を記述する。
config/application.rb
サーバーを再起動するとビュー崩れがなくなる。
解説
バリデーションエラーを表示させる際にエラーが起こったのは、Railsが元より
エラーメッセージを含むフィールドを
自動的にfield_with_errorsクラスを持つdivタグで囲むためです。
以上!
少しでも参考になれば幸いです!
参考URL↓
https://yukimasablog.com/rails-field-with-errors