Ruby on rails 如何允许用户使用CanCan查看资源的单个实例而不是索引?
我会尽量说得比标题更清楚。我希望用户能够查看可能位于以下URL的所有单个小部件:Ruby on rails 如何允许用户使用CanCan查看资源的单个实例而不是索引?,ruby-on-rails,devise,ruby-on-rails-3.2,ruby-on-rails-4,cancan,Ruby On Rails,Devise,Ruby On Rails 3.2,Ruby On Rails 4,Cancan,我会尽量说得比标题更清楚。我希望用户能够查看可能位于以下URL的所有单个小部件: /widgets/2 /widgets/3 /widgets/45 但我不希望用户查看整个索引: /widgets 我知道我可以在控制器中甚至在视图中检查索引和显示,但我正在寻找一种更简单的方法,我可以将此添加到能力.rb文件中: can :read, Widget 当然,这也将允许用户查看索引…是否必须使用cancan?原因如果不是,您可以对控制器上的索引操作执行以下操作: controller befo
/widgets/2
/widgets/3
/widgets/45
但我不希望用户查看整个索引:
/widgets
我知道我可以在控制器中甚至在视图中检查索引
和显示
,但我正在寻找一种更简单的方法,我可以将此添加到能力.rb
文件中:
can :read, Widget
当然,这也将允许用户查看索引…是否必须使用cancan?原因如果不是,您可以对控制器上的索引操作执行以下操作:
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
一定要和坎坎在一起吗?原因如果不是,您可以对控制器上的索引操作执行以下操作:
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
我希望用户能够查看所有单独的小部件。。
但我不希望用户查看整个索引
使用:显示,而不是:读取
can :show, Widget
:read
是一个for[:show,:index]
的函数
我希望用户能够查看所有单独的小部件。。
但我不希望用户查看整个索引
使用:显示,而不是:读取
can :show, Widget
:read
是一个for[:show,:index]
我基本上做了一些类似于你建议的事情,但我在寻找如何处理cancanI基本上做了一些类似于你建议的事情,但我在寻找如何处理Cancancane,这正是我所期待的,正是我所期待的