首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在rails中使用cancan授权控制器操作

在rails中使用cancan授权控制器操作
EN

Stack Overflow用户
提问于 2015-03-11 02:09:50
回答 2查看 586关注 0票数 2

我在控制器中有一些操作,并将authorize设置为3个操作,

代码语言:javascript
复制
class TestController
 def test1
   authorize! :view, :testcase1
   #do things1
 end

 def test2
   authorize! :view, :testcase2
   #do things2
 end

 def test3
   authorize! :view, :testcase3
   #do things3
 end
end

在相应操作的视图中,我像这样检查

代码语言:javascript
复制
if can? :view, :test_case1
   #do things
end

所以问题是我在3个函数中调用authorize,我可以把它说成是一个单一的,和before_filter一样的吗?

EN

回答 2

Stack Overflow用户

发布于 2015-03-11 04:46:45

我不太确定你在说什么,但是load_and authorize_resource通常是最好的选择。如果你需要跳过一个控制器动作,你可以这样做:

代码语言:javascript
复制
class TestController
  load_and_authorize_resource
  skip_authorize_resource :only => :new
end
票数 3
EN

Stack Overflow用户

发布于 2015-03-11 02:21:25

将此代码添加到类中

代码语言:javascript
复制
class TestController
 load_and_authorize_resource
end

并且不需要在每个操作中都使用authorize

https://github.com/ryanb/cancan/wiki/authorizing-controller-actions

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28971023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档