gpt4 book ai didi

ruby-on-rails - 经批准的 Rails 模型版本控制

转载 作者:行者123 更新时间:2023-12-03 06:32:27 26 4
gpt4 key购买 nike

我有一个模型,成员可以更新,但他们的更改只有在管理员批准他们的更改后才会生效。有没有人解决过同样的问题?您会推荐哪些 gem 进行版本控制?纸迹?维斯塔版本?

最佳答案

也许你可以使用 vestal_versions有轻微的扭曲。在 Controller 中添加 after_update 操作,如果进行更改的用户不是管理员,该操作将回滚到以前的版本。然后,您可以将实例的状态设置为待处理,这将提醒管理员进行审核。然后,管理员只需审核最新版本,并在获得批准后将其升级。

# model_controller.rb
after_update :rollback_if_not_admin

def rollback_if_not_admin
unless current_user.admin?
#roll back changes
version = @model_instance.versions.count
if version > 1
@model_instance.reset_to!(version - 1)
@model_instance.status = "pending"
end

flash[:notice] = "Your changes will be reflected once an admin has reviewed them"
redirect_to @model_instance
end

关于ruby-on-rails - 经批准的 Rails 模型版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6229515/

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