Rails通过管理员批准向DB添加行

时间:2016-03-10 04:58:03

标签: ruby-on-rails devise

我正在Rails中创建一个应用程序,我已经将Devise包含在用户管理中。我有一个索引页面,其中所有数据库行都具有CRUD功能,这一切都很好。

我所追求的功能是,如果用户想要添加新行,他们可以通过并“添加”它,但在实际添加之前,请求会转到管理员,然后管理员可以点击'批准',然后添加行。

问题是我试图绕过这样一个事实,即程序将“保持”添加行的操作,管理员会批准它,然后程序将允许该操作适用。

感谢。

1 个答案:

答案 0 :(得分:1)

而不是通过阻止将行保存到数据库的麻烦(您必须取消before_create回调中的保存,但仍将数据保存在某处并将其传递给管理员以便以某种方式进行审批),我做了一个更简单的方法。

向表中添加另一列,boolean列名为eg approved,默认情况下仅显示商家信息中的所有已批准行。当用户创建一行时,请使用approved = false进行保存,然后让管理员访问这些未批准的行,只需设置approved = true即可批准这些行,如果批准被拒绝则删除它们。

还考虑出于性能原因为此列创建数据库索引。