4

我正在使用 Rails 3 rc、Factory Girl、Rspec 和 Authlogic。是否有任何方式或原因会发生这种情况:

当我创建这样的用户时:

@user = Factory(:user)

我收到密码确认“太短”的问题。

我的 factory.rb 是

  Factory.define :user do |u| 
      u.username   "Test User"
      u.email      "TestUser@gmail.com"
      u.password   "aoeuaoeu"
      u.password_confirmation   "aoeuaoeu"
      #u.password_confirmation {|u| u.password}
  end

但是当我在手动输入 :password 和 :password_confirmation 时创建一个,它工作得很好。

@user = Factory(:user, :password => "aoeuaoeu", 
                       :password_confirmation => "aoeuaoeu")

有谁知道是什么原因造成的?

4

1 回答 1

0

这似乎与这里的人遇到的问题相似:

Authlogic 和密码以及密码确认属性 - 无法访问?

密码和确认必须像这样在属性哈希中传递:

before(:each) do  
    @attr = {  
    :name => "Example User",  
    :email => "user@example.com",  
    :password => "foobar",  
    :password_confirmation => "foobar"  
    }  
end  

有关更多信息,请参阅:

http://railstutorial.org/chapters/modeling-and-viewing-users-two#top

于 2011-01-24T08:18:58.407 回答