现在我有我的 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 gems 时,我已经修改了它以适应我的一些需求。
现在,'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>
任何帮助都会很有价值。