【发布时间】:2014-02-28 18:08:32
【问题描述】:
我的Ruby on Rails 项目中有几个表格都需要验证。一方面,创建用户,f.error_notification 方法非常适合显示错误,我相信因为它与用户模型一起使用。但是,我有另一种用于编辑密码的表单,它的工作方式不正确。我正在尝试使用所有相同的方法,以便所有错误消息在网站上的任何地方都显示相同。我遇到的问题是,如果密码不匹配(或有任何其他类型的问题),f.error_notification 在顶部显示为红色:Please review the problems below. 应该如此。但它实际上并没有在下面显示任何问题。
这是表格:
<h2>Change your password</h2>
<%= simple_form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| %>
<%= f.error_notification %>
<%= f.hidden_field :reset_password_token %>
<div><%= f.label :password, "New password" %><br />
<%= f.password_field :password, :autofocus => true, required: true %></div><br />
<div><%= f.label :password_confirmation, "Confirm new password" %><br />
<%= f.password_field :password_confirmation, required: true %></div>
<br>
<%= button_tag(type: 'submit', class: "btn doc-action-btn btn-success") do %>
<i class="glyphicon glyphicon-check"></i> Change my password
<% end %>
<% end %>
我不确定还有什么可以明智地发布代码以帮助更清楚地说明这一点,但如果我可以添加其他内容,我很乐意更新我的帖子。我还要注意,上面的表格是由Devise 生成的。为了一致性起见,我从 Devise 错误消息切换到 Rails 错误消息,因为我们在自定义表单的其他地方使用了 Rails 错误消息。谢谢!
【问题讨论】:
标签: ruby-on-rails ruby forms validation devise