0

在我最近的 Rails 项目中,我在模型中有一个范围。这个范围有两个可能的值:真或假。

scope :ultima, -> ultima { where(:ultima => ultima ) 

我正在使用 has_scope gem 允许在控制器中使用此范围,因此我可以进行如下调用:

http://localhost:3000/model?ultima=true

或者

http://localhost:3000/model?ultima=false

在这个项目中,我有普通用户和管理员用户,他们对应用程序的某些部分具有特殊访问权限。

你如何允许管理员用户使用这个值为“false”的范围?但是当每个人都允许值为“真”时?

4

1 回答 1

0

我通常使用 Rolify 和 Pundit 来完成此任务。Rolify 在模型上设置 :admin。权威人士有一个范围,我可以在其中检查用户是否为:admin。

您也可以通过命名空间执行此操作,并拥有一个单独的管理控制器来锁定它。

于 2014-11-29T22:02:55.137 回答