Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 检测模块ruby中的控制器类型_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

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)