Ruby On Rails自保存模型



我有一个函数在我的模型,改变如下:

  def compare
        self.dirty = 1 if self.dirty == 0
        compare_recursive(0, MergeDigestTree.all)
        self.dirty = 0;
  end

我必须调用self吗?保存还是像这样

你的问题有两种解释:

  • 您是否必须呼叫self.save以便在此时保存记录?yes,因为属性分配不会将更改提交到数据库。

  • 是否强制呼叫self.save并保存记录?没有。方法可以更改实例而不保存它。我通常更喜欢这个,因为你给了呼叫者更多的自由。

你必须自己保存它,是的。虽然我不知道这个方法到底在做什么。:)

不,你应该在这个函数之后的某个时候调用save,如果不是在这个函数中…

所以如果你在你的应用程序中手动使用这个函数…

resource.compare()
resource.save
如果您不想将self.save 放在比较函数中

将很好。

最新更新