我正在测试以下内容:
帐户
class Account < ActiveRecord::Base
has_many :ownerships
has_many :brands, :through => :ownerships
end
所有权加入模式
class Ownership < ActiveRecord::Base
belongs_to :brand
belongs_to :account
end
测试
it "should be able to apply for brand ownership" do
account = Account.create(valid_account_attributes)
account.ownerships.create(:brand => Brand.create(:name => 'Superuser'))
account.ownerships.first.state == 'pending'
end
我一直收到此错误
You cannot call create unless the parent is saved
我真的不明白 - 父母是谁?使用'create'-method时,不应该创建和保存所有模型吗?我试过把'account.save'放到各处。
答案 0 :(得分:1)
您确定account
实际上已保存吗?您是否尝试使用create!
查看是否有任何异常?
答案 1 :(得分:0)
我有同样的错误。我以为我已经删除了我的表的所有行,但仍然有一个用户,我尝试使用该命令插入的同一用户。我通过擦除线来解决问题。