则
我有一个函数在我的模型,改变如下:
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
放在比较函数中
将很好。