По умолчанию, когда вы вызываете «require», Rails будет искать (из граничного источника Rails):
приложение
приложение / металл
приложение / модели
приложение / контроллеры
приложение / хелперы
приложение / услуги
Lib
поставщик
Для простоты поместите файл в lib / и укажите его по имени в config / environment.rb, или вы можете поместить его в config / initializers / array_extension.rb, и он будет автоматически загружен.
Там, где я работаю, мы поместили все наши расширения в базовую библиотеку Ruby в плагин и сохранили его в (Rails.root /) vendor / plugins / utilities / lib / core_ext, а затем нам требуется отдельный расширения в init.rb плагина.
Еще один способ создать скин для этого кота: если вы хотите сохранить ваши основные расширения в Rails.root / core_ext, вы можете добавить этот путь в качестве пути загрузки в блоке конфигурации в environment.rb:
Rails::Initializer.run do |config|
config.load_paths << 'core_ext'
end
Затем вы можете вызвать "require 'array_extension'" из любого места, и оно загрузится.