ruby - Ruby 类在模块下扩展自身是否有效?
问题描述
让 Ruby 类扩展自身但在单独的模块下是有效的语法吗?例如,我有一ErrorsController
堂课..
class ErrorsController < ApplicationController
....
end
但是如果在一个模块下我想有不同的行为..
class Share::ErrorsController < ErrorsController
....
end
这里的ErrorsController 扩展了ErrorsController,它工作得很好。但后来我写了很长的形式:
module Share
class ErrorsController < ErrorsController
end
end
好像有时候有问题。。
解决方案
为了明确地引用“顶级”ErrorsController,典型的技术是在它之前添加两个冒号。例如:
module Share
class ErrorsController < ::ErrorsController
end
end
推荐阅读
- javascript - 如何从正文中选择一个随机的 HTML 元素?
- flowtype - 使用流类型缩小多个属性的问题
- swift - 无法为枚举制定协议
- java - android平台上是否有替换物理按钮按下的事件处理程序?
- c++ - Boost 程序选项似乎失败了
- python - Python JSON 通过列表解析并检查条件
- sql-server - SqlException:使用 .NET Core 2.1 的 SQL Server 的用户 'DOMAIN\MACHINENAME$' 登录失败
- flutter - Flutter Implementing pause and play..... Streaming Music
- c# - 如何创建 C# 8.0 控制台应用程序?
- c# - Form Recognizer SDK,使用自定义模型分析,文件流问题