【发布时间】:2011-07-19 08:30:07
【问题描述】:
我在 factory_girl 的关联方面遇到了一些问题:
Factory.define :account do |f|
f.sequence(:email) {|n| "john#{n}@example.com" }
f.password "secret"
f.confirmed_at 2.days.ago.to_s(:db)
f.name "John Doe"
f.seller false
f.admin false
end
Factory.define :request do |f|
f.association :account
f.message 'Test message.'
end
这就是问题所在:
当我执行 a = Factory(:request), a.account => nil 但是当我执行 a = Factory.build(:request) 时,a.account 是正确的。
知道为什么会这样吗?
谢谢
【问题讨论】:
-
这里没有验证问题?如果在创建后执行 a.errors 怎么办?
-
Request mock 上没有验证错误...它被保存但没有 account_id,这让我想知道 request.account 上是否有验证错误,我可以通过什么方式检查?
-
我也不确定为什么在创建请求之前 SQL 看起来像这样 "SELECT
accounts.* FROMaccountsWHEREaccounts.emailIS NULL LIMIT 1"跨度>
标签: ruby-on-rails rspec rspec2 factory-bot