表单元素的自定义HTML错误包装

我想找到一种方法来自定义默认错误html

参加我自己的课程:

  
Small snippet of help text

我相信,从2007年我发现了这个使用Rails 2的railscast。 http://railscasts.com/episodes/39-customize-field-error 。 看起来Rails 3可能有更友好的方式来自定义这个HTML?

此外,它没有显示只是像我想要的那样直接向输入添加错误类的方法。

您发布的链接中解释的方法今天仍在使用Rails中的vanilla表单构建器 。

因此,如果您想像提到的那样包装输入,请创建一个覆盖environment.rb文件中的ActionView::Base.field_error_proc的方法,例如:

 ActionView::Base.field_error_proc = Proc.new do |html_tag, instance| if instance.error_message.kind_of?(Array) %(
#{html_tag}  #{instance.error_message.join(',')}#{html_tag}  #{instance.error_message}

在上面的代码中,我将输入(#{html_tag})包装在

... tag(也是默认的基础),用于显示输入下方的消息。

但是,我建议使用像simple_form这样的表单构建器gem。 它可以清理您的视图代码,并允许您需要的自定义级别。

在这里查看railscast。

祝好运!