我使用seeds.rb创建两条记录,其中一条记录属于另一条记录:
new_account = Account.create(name: 'AccountName')
new_user = User.create(
email: 'foo@example.com',
password: 'pass',
password_confirmation: 'pass',
account: new_account)
此操作失败并显示SQLite3::ConstraintException
,抱怨我没有设置account_id
。如果我明确设置ID:
new_account = Account.create(name: 'AccountName')
new_user = User.create(
email: 'foo@example.com',
password: 'pass',
password_confirmation: 'pass',
account_id: new_account.id)
我的理解是前一种方法应该有用 - 我错了,或者我只是做错了?我在Rails 3.1.0上,使用Devise 1.4.7。
答案 0 :(得分:1)
它不应该以第一种方式工作,如错误所示。您必须像在第二个示例中那样明确指定id。 :)