【发布时间】:2018-12-12 03:04:41
【问题描述】:
我有一个标准 Rails 5.2 应用程序,我想向 Array 类添加一个方法。
所以我在lib/core_extensions/array/use_slugs.rb 中创建了一个文件,代码如下:
module CoreExtensions
module Array
def use_slugs
binding.pry
end
end
end
Array.include CoreExtensions::Array
并在我的config/application.rb 文件中添加:
class Application < Rails::Application
...
config.eager_load_paths << Rails.root.join('lib')
config.eager_load_paths << Rails.root.join('lib', 'core_extensions', '**/')
...
end
但是当我打电话给[].use_slugs 时,我仍然得到undefined method 'use_slugs' for []:Array
为什么?
谢谢
【问题讨论】:
-
你试过没有
config.eager_load_paths << Rails.root.join('lib', 'core_extensions', '**/') -
是的(没有帮助),但我猜你需要它
-
可以将其保存在初始化程序中,如果您同意的话。
-
好吧,当然(而且它正在工作),但绝对不是这样的代码应该存在的地方..
标签: ruby-on-rails monkeypatching