如果我在控制器之外尝试它可以工作:
using ParamsExtension
class ApplicationController
如果我在控制器内部尝试或操作它不起作用:
class ApplicationController
using ParamsExtension
它抛出'未定义的方法'使用'。
我读了这篇文章,作者在课堂上使用它:timelessrepo.com/refinements-in-ruby
如果我在控制器之外尝试它可以工作:
using ParamsExtension
class ApplicationController
如果我在控制器内部尝试或操作它不起作用:
class ApplicationController
using ParamsExtension
它抛出'未定义的方法'使用'。
我读了这篇文章,作者在课堂上使用它:timelessrepo.com/refinements-in-ruby
根据这篇文章,类内的改进仅适用于 2.3 及更高版本。
我从文档中阅读了以下内容:
您只能在顶层激活细化,而不是在任何类、模块或方法范围内。您可以在传递给 Kernel#eval 的字符串中激活细化,该字符串在顶层进行评估。细化一直有效,直到文件结束或 eval 字符串结束。
http://www.ruby-doc.org/core-2.1.1/doc/syntax/refinements_rdoc.html