deviseのエラーメッセージ表示でビュー崩れ 対処法
はじめに
チーム開発でフリマアプリを模したものを開発しています。deviseのエラーメッセージ表示によるビュー崩れがあり、修正対応に少しハマったので、簡単ですが対処法を残しておきます。
環境
rails (5.2.4.2)
devise (>= 4.7.1)
devise-i18n (1.9.1)
devise-i18n-views (0.3.7)
■ユーザー登録に必要な項目の入力漏れがあると下図のようにエラーメッセージが表示されます。
(deviseの標準機能です。デフォルトが英語なので、日本語化する為にdevise-i18nというgemを導入しています)
ビューの縦方向のずれは、これらの要素を包んでいる親要素にheight:autoをかければ対応できます。
deviseのエラーメッセージ表示でビュー崩れ発生
問題は次です。
ユーザー登録画面の下部に移ります。
■deviseエラーメッセージ表示時の、ページ下部の様子です。生年月日のビューが崩れていますね。。
エラーメッセージ表示有無によって何が違うのでしょうか。
検証ツールをよく見ると、エラーメッセージ表示時に
<div class="field_with_errors">
というdiv要素が自動的に生成されていますね。(!)
エラーメッセージ表示前のビューをいくら整えても、表示後のビューを確認してびっくり。
さっき直したはずなんだけどなんで崩れてるんだろう、、、ってなります。
対処法
上記のdiv要素が自動生成されてしまうのは仕方ないので、この要素に対してCSSでdisplay: contentsをかけてあげましょう。
(他の対処法パターンについては確認しきれていません)
参考にさせていただいた記事
所感
deviseはこういった細かい設定まで作り込まれているので、うまく使いこなすためにも、特性を理解して仲良くしていきたいと思います。。
Author And Source
この問題について(deviseのエラーメッセージ表示でビュー崩れ 対処法), 我々は、より多くの情報をここで見つけました https://qiita.com/777mountain/items/7c02e19060dd6140491a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .