我有一个带有Twitter Bootstrap的rails应用程序,当验证对象(如名称,名称为空白)时,我收到错误,但是在flash / notice中,如下图所示:
好的,但是,不是那样,我希望错误显示在输入中,输入的类将是.has-error(或类似的东西)。我看一下field_error_proc并试图改变它,但是没有成功。
答案 0 :(得分:1)
我们之前已经完成了这项工作(您可以在http://firststopcosmeticshop.co.uk看到 - 点击“注册”)
-
<强>错误强>
我们这样做的方式是use the following:
#app/views/users/new.html.erb
<%= form_for @user do |f| %>
<%= f.text_field :your_param %>
<%= @user.errors[:your_param].first if @user.errors[:your_param].present? %>
<%= f.submit %>
<% end %>
您需要考虑的其他事情是Rails会自动将field_with_errors
类附加到任何带有错误的输入。如果您想设置错误输入的样式,您将能够使用附加答案中的样式建议
答案 1 :(得分:0)
我在我的项目中设置了field_error_proc,它运行正常
config.action_view.field_error_proc = Proc.new do |html_tag, instance|
case instance
when ::ActionView::Helpers::Tags::Label
html_tag
else
error_message = instance.error_message.is_a?(Array) ?
instance.error_message.join(', ') :
instance.error_message
%Q(<div class="has-error">#{html_tag}<div class='help-block'>#{error_message}</div></div>).html_safe
end
end