Rails 4.2, как автоматически перезагружать модуль MyStuff в /lib/my_stuff.rb в процессе разработки при изменении кода - PullRequest
0 голосов
/ 15 марта 2019

Я вижу множество решений, предлагаемых для Rails 3, но для Rails 4.2 как я могу заставить Rails перезагружать файл /lib/my_stuff.rb при внесении изменений в разработку без перезапуска сервера?

Это единственный файл в / lib, который мне нужно перезагрузить после изменений, поскольку он является сложным модулем в процессе разработки, поэтому перезапуск сервера после каждого небольшого изменения не идеален для разработки.

# /lib/my_stuff.rb
module MyStuff

  def self.method1
  end

end
# /config/initializers/my_stuff.rb
require 'my_stuff.rb'

Я попробовал это в config / средах / development.rb:

ActiveSupport :: Dependencies.autoload_paths << File :: join (Rails.root, 'lib') ActiveSupport :: Dependencies.explicitly_unloadable_constants << 'MyStuff' </p>

и, похоже, работает, но после одной или двух перезагрузок выдает ошибку:

Unable to autoload constant MyStuff, 
expected /my_app/lib/my_stuff.rb to define it.

(там написано my_app, потому что я работаю в Docker, где my_app - это том, указывающий на '.')

...