0

私の最近の Rails プロジェクトでは、モデルにスコープがあります。このスコープには、true または false の 2 つの値があります。

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

コントローラーでこのスコープを使用できるようにするために has_scope gem を使用しているので、次のような呼び出しを行うことができます。

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

また

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

このプロジェクトには、通常のユーザーと、アプリケーションの一部に特別なアクセス権を持つ管理者ユーザーがいます。

管理者ユーザーが値「false」でこのスコープを使用できるようにするにはどうすればよいですか。しかし、値が「true」の場合、誰にでも許可されますか?

4

1 に答える 1

0

私は通常、これを達成するために Rolify と Pundit を使用します。Rolify はモデルに :admin を設定します。そして、専門家には、ユーザーが管理者であるかどうかを確認するスコープがあります。

名前空間を介してこれを行うこともでき、これをロックダウンする別の管理コントローラーを使用できます。

于 2014-11-29T22:02:55.137 に答える