エラーのとき fieldWithErrorsが突っ込まれる
ActiveRecordのValidationでエラーになると該当箇所に<div class="fieldWithErrors">が勝手に突っ込まれます。これはこれでありがたいのですが、<div>で突っ込むことになっているため、勝手に改行されて入力フォームのレイアウトが崩れるのが玉に傷。突っ込まないようにしてもいいのですが、<div>の代わりに<span>を使って改行されないようにしてみました。
対処
『application_helper.rb』で『class Base』を再定義(オーバーライド)します。
module ActionView class Base @@field_error_proc = Proc.new{ |html_tag, instance| "<span class=\"fieldWithErrors\">#{html_tag}</span>" } cattr_accessor :field_error_proc end end
スタイルシートに fieldWithErrorsのときの指定を追加します。
.fieldWithErrors { padding:3px; border:2px solid red; }