Ruby on Rails:保存模型两次产生两条记录?

时间:2011-08-09 00:16:43

标签: ruby-on-rails

我有一个模型“食物”,我使用:

创建它
food= Food.new
food.attributes = attributeHash
food.save #creates 1 new record

现在,当它立即保存时,我会这样做:

food.json = food.to_json
food.save #creates another record! Why???

这会创建另一条ID(主键)增加1的记录。我希望它只是更新已插入的记录。我发誓我曾经做过一次并且它有效,所以我在这里做错了吗?我得到了预期的行为吗?

1 个答案:

答案 0 :(得分:0)

尝试连续执行两个#save()而不调用food#json=,也许在该setter中创建了一个新对象。