如何设置管理员批准模型的编辑

我需要一个普通用户可以编辑模型的系统,但编辑实际上不会发生,直到他们得到管理员的批准。 我找到了一个名为paper_trail的gem,它确实有模型版本,但并不特别支持我想要做的事情。 我想知道其他人是如何处理这个问题的。 我应该补充说,我希望能够让用户同时进行编辑。 它们不是很复杂,例如一个是别名。

更复杂的部分可能是多个用户编辑相同模型并尝试进行某种合并的情况。

一种方法是通过版本批准进行版本控制。

每次编辑都会创建模型对象及其关联的新版本。 在任何时候,任何模型对象只有一个“当前”版本(它在数据库中的表示)。

如果两个用户提交两个单独的编辑,则会创建两个“待定”版本。

管理员会通过将当前版本移动到新的“待定”版本来批准编辑。 合并也可以完成,但这可能是特定于域的,并且可能导致冲突,因此保持单独的版本将是聪明的。

有几种方法可以实现这一点,最好的方法取决于情况的动态。

我建议看看Git是如何工作的,然后尝试对系统进行建模。 某种指向HEAD模型对象的指针,具有修订历史记录以及将HEAD移动到不同修订版的能力。 合并也可以与Git类似。

希望有所帮助。

我正在看同样的问题,即修改的批准,我可以遇到这个 ,我怀疑你可以用paper_trail做类似的事情 。