我会尽量比标题更清楚。我希望用户能够查看可能位于以下 URL 的所有单个小部件:
/widgets/2
/widgets/3
/widgets/45
但我不希望用户查看整个索引:
/widgets
我知道我可以在控制器中甚至在视图中检查index
and show
,但我正在寻找一种更简单的方法可以将其添加到Ability.rb
文件中:
can :read, Widget
当然,这也将允许用户查看索引...
我会尽量比标题更清楚。我希望用户能够查看可能位于以下 URL 的所有单个小部件:
/widgets/2
/widgets/3
/widgets/45
但我不希望用户查看整个索引:
/widgets
我知道我可以在控制器中甚至在视图中检查index
and show
,但我正在寻找一种更简单的方法可以将其添加到Ability.rb
文件中:
can :read, Widget
当然,这也将允许用户查看索引...
一定要和康康一起吗?因为如果不是,您可以像这样对控制器上的索引操作进行前置过滤:
controller
before_filter :check_user, :only => [:index]
def index
// code
end
def check_user
if current_user.type==1
redirect to root_url
end
end
好的,这个和康康怎么样
能力.rb
cannot :manage, Widget
控制器
skip_authorize_resource :only => :show