2016-05-22 4 views
1

Я работаю над этим приложением rails с движком, который является своего рода вспомогательным приложением, добавляющим еще несколько маршрутов к моему существующему приложению.рельсы: автозагрузка файлов внутри каталога lib компьютера

Концепция настолько мощная, благодаря рельсам.

Но я столкнулся с этим странным вызовом автозагрузки файлов в каталоге моих движков lib в режиме разработки. Каждый раз, когда я делаю изменения внутри каталога приложений двигателя, будь то модель или контроллер, он работает безупречно, но никаких изменений в каких-либо файлах под каталогом lib get не происходит. Есть ли способ, которым я могу это сделать? Спасибо за вашу помощь.

ответ

-1

Поместите следующий код в ваш config/application.rb

config.eager_load_paths += ["#{Rails.root}/lib"] 

Если вы хотите, только в режиме разработки используют следующие

config.eager_load_paths += ["#{Rails.root}/lib"] if Rails.env.development? 
+0

Вопрос в том, что «рельсовый двигатель» не подходит к полному «рельсовому приложению». – Swaps

0

По Rails::Engine docs вы можете автозагрузка пути как-

class MyEngine < Rails::Engine 
    # Add a load path for this specific Engine 
    config.autoload_paths << File.expand_path("../lib/some/path", __FILE__) 

    initializer "my_engine.add_middleware" do |app| 
    app.middleware.use MyEngine::Middleware 
    end 
end 

Если вы не хотите автозагрузку, вы можете прямо потребовать t он файл в своем классе с требуют Оператор-

require 'my_engine/my_object' 
class MyModel < AR::Base 
    ... 
end 

Это будет работать, потому что ваш двигатель уже загружен в приложение, так что вы можете получить доступ к LIBS внутри него.

 Смежные вопросы

  • Нет связанных вопросов^_^