【问题标题】:Why do I need reload objects before saving them in order for relations to update?为什么我需要在保存对象之前重新加载对象以更新关系?
【发布时间】:2013-04-26 01:14:57
【问题描述】:

不确定这是否是 Mongoid 特有的东西,或者是否适用于更大的活动记录模式。 我有以下代码块,它可以工作:

submission.reload.profile
submission.milestone = self.milestone
submission.profile = @profile
@profile.save && submission.save

关系得到正确更新。但是,如果我取出第一行(我只是通过反复试验得出的)它会停止工作并且关系不会更新。

为什么?

【问题讨论】:

    标签: ruby ruby-on-rails-3 mongoid mongoid3


    【解决方案1】:

    可能是提交有一些无效的属性,当你重新加载时,提交回到验证状态并且可以保存。 保存后尝试 p submit.errors 而不重新加载

    【讨论】:

    • 这是一个很好的理论。尝试使用save! 而不是save 看看会发生什么。
    猜你喜欢
    • 1970-01-01
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 2023-01-23
    • 2018-07-20
    • 1970-01-01
    • 2011-04-07
    • 2012-05-06
    相关资源
    最近更新 更多