的初始化之前用户在我的模型(产品),我有一个验证,每个产品应该有一个有效的所有者(用户LOGIN_ID)我如何能够创造模型
validates_presence_of :owner
validates_inclusion_of :owner, :in => User.first.login_id, :message => "%{value} is not a valid owner name"
我想使用工厂女孩创建产品模拟对象
用于创建新产品我需要用户的login_id。 要这样做,我已创建一个用户。
达到这一切都是好的,但是当我试图创建一个产品使用该用户的login_id 产品不是创建,并显示验证消息(“用户1不是有效的所有者名称”)。
挖掘到更深之后,我发现,
- 问题从验证出现在我的模型。
- 我有一个验证(validates_inclusion_of:owner,:in => User.first.login_id),它在factory.rb中创建模拟用户之前进行初始化, (直到那时没有用户在数据库中创建,用户被创建在执行factory.rd模式初始化后
我的问题是: 1.如何能够在模型初始化之前创建用户。
此用户不必是第一个用户,它可以是任何注册用户。如果我按照你的要求,我有以下错误:ArgumentError:未注册:产品 /usr/local/lib/ruby/gems/1.9.1/gems/factory_girl-2.0.4/lib/factory_girl/registry.rb:15 :在'find' /usr/local/lib/ruby/gems/1.9.1/gems/factory_girl-2.0.4/lib/factory_girl.rb:42:in'factory_by_name' /usr/local/lib/ruby /gems/1.9.1/gems/factory_girl-2.0.4/lib/factory_girl/syntax/vintage.rb:53:in'default_strategy' /usr/local/lib/ruby/gems/1.9.1/gems/factory_girl -2.0.4/lib/factory_girl/syntax/vintage.rb:146:在'Factory'中 – suvankar