的初始化之前用戶在我的模型(產品),我有一個驗證,每個產品應該有一個有效的所有者(用戶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