gpt4 book ai didi

ruby-on-rails - 如何设置管理员批准模型的编辑

转载 作者:行者123 更新时间:2023-12-04 16:01:28 25 4
gpt4 key购买 nike

我需要一个系统,普通用户可以在其中编辑模型,但在管理员批准之前,这些编辑实际上不会发生。我发现了一颗名为 paper_trail 的 gem 确实有模型版本控制,但不具体支持我想要做的事情。我想知道其他人是如何处理这个问题的。我应该补充一点,我还希望用户能够同时编辑一些关联。它们不是很复杂,例如一个是别名。

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

最佳答案

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

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

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

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

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

我建议您查看 Git 的工作原理,然后尝试为您的系统建模。某种指向您的 HEAD 模型对象的指针,具有修订历史和将 HEAD 移动到不同修订的能力。合并也可以像 Git 一样工作。

希望有帮助。

关于ruby-on-rails - 如何设置管理员批准模型的编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6542041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com