2011-06-22 61 views
1

我有一個基於railscasts身份驗證的用戶腳手架,它使用密碼屬性,我將如何允許測試通過並使密碼不是表中的字段,而password_hash和password_salt是? 我在模型中有以下代碼,它是我相信會導致用戶不會增加的第一行。我怎樣才能解決這個問題?Rails燈具和功能測試

validates_presence_of :password, :on => :create 
validates_confirmation_of :password 

我想我找到了問題,但不知道如何解決它。我調用下面的代碼,即使我嘗試將其添加到屬性,但它不包含密碼或password_confirmation。

post :create, user: @user.attributes 

回答

1

控制器設置密碼這樣的:

@user = User.new 
@user.name = params[:user][:name] 
@user.password = params[:user][:password] 

如果你仍然想這樣做:

@user = User.create(params[:user]) 

這一行添加到用戶模式:

attr_accessible :password 

請注意attr_accessible m ight導致安全漏洞。在使用它們之前瞭解有關attr_accessible & attr_protected的更多信息。