捕获错误和错误字段

时间:2011-01-16 07:31:28

标签: ruby-on-rails devise

我有一个SettingsController,允许用户更改 密码。我期待Devise应用相同的验证规则 适用于其他地方的密码。 在我的设置控制器中,我有以下代码:

    @user.password = new_pwd
    @user.password_confirmation = new_cnf_pwd
    if @user.save
       format.html { redirect_to settings_home_url }
       format.js
   else
       flash[:error] = "Settings cant be saved"
       format.html { redirect_to settings_home_url }
       format.js
    end

在SettingsPage上,我有:

<%= flash[:error] %>
<%= flash[:warning] %>
<%= flash[:alert] %>

在表单中,现在我已设置的flash [:error] SettingsController显示正常。但我想也要展示 设计表单上的“密码不匹配”等默认错误。 另外,我想标记错误的字段。 有没有办法从像我这样的非设计控制器做到这一点 有? 谢谢... 维德。

1 个答案:

答案 0 :(得分:1)

模型的任何验证错误都将在@user.errors中提供,而不是flash

Rails Guides: Displaying Validation Errors in the View文档向您展示了如何在视图中打印出来。