首页 > 解决方案 > Ruby 类在模块下扩展自身是否有效?

问题描述

让 Ruby 类扩展自身但在单独的模块下是有效的语法吗?例如,我有一ErrorsController堂课..

class ErrorsController < ApplicationController
 ....
end

但是如果在一个模块下我想有不同的行为..

class Share::ErrorsController < ErrorsController
 ....
end

这里的ErrorsController 扩展了ErrorsController,它工作得很好。但后来我写了很长的形式:

module Share
  class ErrorsController < ErrorsController
  end
end

好像有时候有问题。。

标签: ruby

解决方案


为了明确地引用“顶级”ErrorsController,典型的技术是在它之前添加两个冒号。例如:

module Share
  class ErrorsController < ::ErrorsController
  end
end

推荐阅读