【问题标题】:How should admins interact with State Machine?管理员应该如何与状态机交互?
【发布时间】:2013-07-29 10:16:43
【问题描述】:

我有一个使用状态机模式的 ruby​​ 应用程序。用户提交申请,并且在获得批准和审查后,这些申请将对其他用户可见。

该应用还使用 ActiveAdmin 允许管理员将应用从“草稿”状态转移到“已批准”状态,并最终转移到“成功发布”状态或“退休”状态。

我的问题是我不知道如何赋予管理员在所有州执行操作的特殊权限。例如,我希望管理员能够在任何状态下编辑应用程序,即使用户一旦获得批准就无法对其进行编辑。我有一个默认为 false 的“可编辑”方法,但当我想允许用户编辑应用程序时,我偶尔会设置为 true。

def editable?
  true
end

我想也许可以创建一个名为“admin_editable”的类似方法?并在所有状态下将其设置为 true。但这似乎是一个 hack。

有最佳实践吗?我应该一起废弃状态机吗?或者,我如何获得允许管理员编辑项目而不管其状态如何?

【问题讨论】:

标签: ruby-on-rails activeadmin state-machine


【解决方案1】:

cancan 这样的宝石会在这里帮助你吗?

【讨论】:

  • 有可能。我通常使用 CanCan 来管理用户的行为,但我想我可以在这个应用程序中使用它来管理应用程序的行为。
猜你喜欢
  • 2013-10-14
  • 1970-01-01
  • 2013-12-19
  • 2021-07-18
  • 2013-09-16
  • 2014-02-21
  • 1970-01-01
  • 2021-11-15
  • 1970-01-01
相关资源
最近更新 更多