2011-08-09 1 views
0

私はモデル「食​​」を持っていると私は使用して作成します:Ruby on Rails:モデルを2回保存すると2つのレコードが得られますか?

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だけインクリメントされました。私はそれが既に挿入されたレコードを更新することを期待しました。私は前にこれをやったことを誓った、それは働いた、私はここで間違っている?期待どおりの行動を取っていますか?

+0

私は上記のコードで自分のテストケースを作成しましたが、それは単に既存のオブジェクトを修正しました。それは2つを作成しませんでした。あなたの設定が異なるかもしれませんか?どのバージョンのRailsを使用していますか?あなたの食糧モデルに特別な論理がありますか? – dontangg

答えて

0

#save()を2つ並べて、food#json=を呼び出さずに行を試してみてください。そのセッターに新しいオブジェクトを作成するものがあるかもしれません。

関連する問題