0

私は Parent オブジェクトを持っており、それは has_many 関連付けとして Child オブジェクトを持っています。

私は最初の子供を手に入れます:

s = Parent.first str = s.children.first

そしてそれを変更します:

str.remarks = "何か"

今、私は s.save も子を保存することを期待していますが、そうではありません。str.save を明示的に呼び出す必要がありますが、これは悪いことです (トランザクション内になく、醜いため)。

関係を :autosave=>true (両側) でマークしようとしましたが、何もしません。

これを解決する標準的な方法は何ですか?

問題があれば、ROR4、ruby 2.0 で作業しています。

ありがとう。

4

1 に答える 1

1

あなたの例でsは、レコードに加えている一時的な変更を認識していません。それらは に保存されていstrます。これを機能させたい場合は、代わりに試してください

s = Parent.first

s.children.first.remarks = "something"

s.save

于 2013-08-04T14:25:27.547 に答える