我試圖實現更改密碼視圖。目前我正在測試如果我在密碼和password_confirmation中不匹配的情況下是否在表單上顯示紅色錯誤消息。我收到一條追溯說「驗證失敗:密碼與確認不符」,但我看不到任何基於自然形式的錯誤消息...設計密碼確認錯誤
另一個可能有用的小信息是我的User模型接受另一個模型的嵌套屬性(contact_info)。這些東西一切正常。
這裏是代碼的相關位。從我的模型:
class User < ActiveRecord::Base
devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable
...
end
這裏是我的HAML視圖代碼:
= form_for @user do |user|
-if @user.errors.any?
#error_explanation
%h2= "#{pluralize(@user.errors.count, "error")} prohibited this user from being saved:"
%ul
- @user.errors.full_messages.each do |msg|
%li= msg
最後,這裏是我的控制器位:
...
if @user.update_attributes!(params[:user])
format.html { redirect_to(users_url, :notice => 'User was successfully updated.') }
format.xml { head :ok }
else
...
我得以驗證那些字段在傳入的參數中:
Parameters: {"user"=>{"last_name"=>"Jim", "first_name"=>"Dandy", "email"=>"[email protected]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"
我懷疑我錯過了一些相當簡單的事情......但對於我的生活,我無法弄清楚它可能是什麼。
是否控制器的其他區域說:別的 format.html {渲染:行動=> 「新」} format.xml {渲染:XML => @ user.errors,:狀態=>:unprocessable_entity} 結束了嗎? – jschorr
是的。我想到了這一點......我會把答案放在下面...... – jaydel