今、私は自分の ActionView::Base.field_error_proc を
Proc.new do |html_tag, instance|
if html_tag =~ /^<label/ or instance.respond_to?(:object_name)
%{<div class="field_with_errors">#{html_tag}</div>}.html_safe
else
%{<div class="field_with_errors">#{html_tag}<br /><label for="#{instance.send(:tag_id)}" class="message">#{instance.error_message.first}</label></div>}.html_safe
end
client_side_validations ジェムを使用したときに、いくつかのニーズに対応するためにこれを変更しました。
現在、'fields_with_error' div は html_tag (具体的にはエラー フィールド) を囲んでいます。私が知りたいのは、div class="fields_with_error" の位置を変更して、error_field を含む div の直後に配置できるかどうかです。
たとえば、
<div class="main_div">
<%= password_field_tag 'secret', 'Your secret here' %>
</div>
次に、div class="fields_with_error" を次のように配置する必要があります
<div class="main_div">
<%= password_field_tag 'secret', 'Your secret here' %>
</div>
<div class="fields_with_error"> <label class="message"> The error message </label> </div>
どんな助けも非常に価値があります。