在ActiveModel中更新子关联

时间:2013-08-04 10:50:09

标签: ruby-on-rails

我有一个Parent对象,它有一个Child对象作为has_many关联。

我得到了第一个孩子:

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

并改变它:

str.remarks =“something”

现在,我希望s.save 拯救孩子,但事实并非如此。 我需要显式调用str.save,这很糟糕(因为它不在事务中,而且也很丑陋)。

我尝试用以下方式标记关系:autosave => true(两侧)但它什么也没做。

解决这个问题的标准方法是什么?

我正在使用ROR4,ruby 2.0,如果重要的话。

感谢。

1 个答案:

答案 0 :(得分:1)

在您的示例中,s不知道您对记录所做的临时更改,它们存储在str中。如果你想要这个,请尝试

s = Parent.first

s.children.first.remarks = "something"

s.save