Rails 3 和 Factory Girl 仅在传入属性时创建用户

发布于 2024-09-16 18:21:54 字数 802 浏览 6 评论 0原文

我正在使用 Rails 3 rc、Factory Girl、Rspec 和 Authlogic。 有什么方法或原因会发生这种情况:

当我创建这样的用户时:

@user = Factory(:user)

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

我的 Factory.rb 是

  Factory.define :user do |u| 
      u.username   "Test User"
      u.email      "[email protected]"
      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")

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

I'm using Rails 3 rc, Factory Girl, and Rspec, and Authlogic.
Is there any way or reason why this would happen:

When I create a user like this:

@user = Factory(:user)

I get an issue with password confirmation being "too short".

my factories.rb is

  Factory.define :user do |u| 
      u.username   "Test User"
      u.email      "[email protected]"
      u.password   "aoeuaoeu"
      u.password_confirmation   "aoeuaoeu"
      #u.password_confirmation {|u| u.password}
  end

But when I create one as I pass in :password and :password_confirmation manually,
it works just fine.

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

Does anyone have any idea what could be causing this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谜泪 2024-09-23 18:21:54

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

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

密码和确认必须在属性哈希中传递,如下所示:

before(:each) do  
    @attr = {  
    :name => "Example User",  
    :email => "[email protected]",  
    :password => "foobar",  
    :password_confirmation => "foobar"  
    }  
end  

有关详细信息,请参阅:

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

This seems similar to the problem the person here had:

Authlogic and password and password confirmation attributes - inaccessible?

The password and confirmation must be passed in the attributes hash like so:

before(:each) do  
    @attr = {  
    :name => "Example User",  
    :email => "[email protected]",  
    :password => "foobar",  
    :password_confirmation => "foobar"  
    }  
end  

For more info see:

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文