0

这是我经常遇到的问题,我不太清楚为什么。任何建议表示赞赏:

假设我有 shop 和 book 的关系(book 属于 shop,shop 有很多书)

如果我运行以下代码:

shop = Shop.first
Book.new(:name => 'Naked People', :shop => shop)

我去拿

ActiveRecord::AssociationTypeMismatch: Shop(#70161677495100) 预期,得到字符串(#70161654862280)

但是,如果我运行

shop = Shop.first
Book.new(:name => 'Naked People', :shop_id => shop.id)

一切正常。

其他事情:

  • 我认为这不是 attr_accessible 问题。我已经尝试从两个模型中删除 attr_accessible 调用......没有变化
  • 我不认为这是协会的问题。从控制台,我可以创建 Book.new(:name => 'Naked People', :shop => shop) 没问题。目前它来自 rspec 控制器测试,事情不工作

有任何想法吗?我似乎经常遇到这种情况,但我很难过:解决方案

4

0 回答 0