Ruby on rails 检测模块ruby中的控制器类型
我创建了一个模块,基本上我想做的是 在这个模块中,有一个功能将像之前的过滤器一样工作。此功能将执行逻辑并确定其应执行的操作。范例Ruby on rails 检测模块ruby中的控制器类型,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我创建了一个模块,基本上我想做的是 在这个模块中,有一个功能将像之前的过滤器一样工作。此功能将执行逻辑并确定其应执行的操作。范例 class JobsController < ApplicationController include Mymodule authorize_resources def create end def update end end module Mymodule def authorize_resources cur
class JobsController < ApplicationController
include Mymodule
authorize_resources
def create
end
def update
end
end
module Mymodule
def authorize_resources
current_controller = params[:controller]
if current_controller == 'jobs'
//some logic
end
end
end
将您的
if
更改为:
if(current_controller == JobsController)
如果params[:controller]
是类本身,并且
if(current_controller.class == JobsController)
如果变量是
JobsController
的一个实例,但我想让它动态检测?当在特定控制器中调用authorize_资源时,它将检测当前_控制器是什么,并执行逻辑。呃..也许我更新了,看看你是不是这个意思..cz我不太明白你的答案。@Nich:我明白了!给我几分钟。你不需要在before_筛选器中调用authorize_资源吗?呃,我的authorize_资源将基于不同的逻辑调用before_筛选器,比如我解析yaml数据,并获取“:index,:create”,因此,我的before_筛选器将非常抱歉@Nich的延迟。我不是rails的人,我需要一点时间来弄清楚这一点。
if(current_controller.class == JobsController)