如何阻止Rails用field_with_errors包装标签

时间:2012-09-05 17:26:24

标签: ruby-on-rails

保存表单和字段验证失败时,我不希望完全修改标签。 我不介意用div和一个“field_with_errors”类包装输入,但是我怎么能阻止它包装标签?

2 个答案:

答案 0 :(得分:6)

我无法在ActionView :: Base文档中找到有关field_error_proc方法的任何内容,但这是我提出的解决方案。希望这会有助于其他人!

 ActionView::Base.field_error_proc = Proc.new do |html_tag, instance| 
  unless html_tag =~ /^<label/
    "<div class=\"field_with_errors\">#{html_tag}</div>".html_safe
  else
    html_tag.html_safe
  end
end

答案 1 :(得分:-1)

而不是例如

<%=label "name", :name%>

,删除:name并拥有

<%=label "name"%>

这将停止包装。