而不是显示通知错误,在输入中显示错误

时间:2014-09-11 20:05:43

标签: ruby-on-rails twitter-bootstrap ruby-on-rails-4

我有一个带有Twitter Bootstrap的rails应用程序,当验证对象(如名称,名称为空白)时,我收到错误,但是在flash / notice中,如下图所示:imagem

好的,但是,不是那样,我希望错误显示在输入中,输入的类将是.has-error(或类似的东西)。我看一下field_error_proc并试图改变它,但是没有成功。

2 个答案:

答案 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