我有两个表,其中一个我改为具有多态关联。我有一个包含大约40个帖子的制作环境,我想更改他们的targetable_id
和targetable_types
,但我在CL中遇到了麻烦:
Design.first.update_attributes(targetable_id: 1, targetable_type: "Collection")
-->false
在这种情况下,查找设计的前一种方法是使用collection_id
,现在已更改为targetable_id
。此特定设计的集合ID为1
。
如何在不删除所有帖子并重新开始的情况下执行此操作?
答案 0 :(得分:1)
您可以尝试使用update_columns
直接更新数据库而不执行任何回调或验证:
Design.first.update_columns(targetable_id: 1, targetable_type: "Collection")
然而,如果是我,我会试着找出它失败的确切原因......如果你尝试:
Design.first.update_attributes!(targetable_id: 1, targetable_type: "Collection")
...控制台应该为您提供有关其失败原因的其他信息,这可能有助于您运行update_attributes
。