23

サーバーを再起動せずにENVに「lib」ファイルをリロードさせる方法はRailsにありますか? 「lib」のモジュール内にあるいくつかのクラスを使用しています。ただし、変更を確認するには、毎回サーバーを再起動する必要があります。これが Rails の本来の動作方法だと思いますが、ライブラリ ファイルやプラグインを開発するときは非常に面倒です。

きっと私はこれについて間違っていると思います....?

一番

編集1

答え1も2も私にとってはうまくいきませんでした。代わりに、モジュールを使用したコントローラーからのエラーが表示されました。参考までに、「lib/xmlitems」ディレクトリに 3 つのファイルがあります。そのサブディレクトリを読み込もうとして、他のすべてのファイルを「必要とする」単一のファイルを参照しました。すべてのファイルを個別にロードする必要がありますか?

4

3 に答える 3

14

Rails3とRails4.0の場合は、@ txwikingerの回答に記載されている手順を変更してください。environment / development.rbファイルに、次の行を追加します。

ActiveSupport::Dependencies.autoload_paths << File::join( Rails.root, 'lib')
ActiveSupport::Dependencies.explicitly_unloadable_constants << '<my modules in lib>'
于 2012-06-08T18:40:57.783 に答える
-1
module ActsAsReloadable
  def self.included(base)
    ActiveSupport::Dependencies.explicitly_unloadable_constants << base.name if Rails.env == 'development'
  end
end

これを使用するにinclude ActsAsReloadableは、lib/*ファイルに追加config.autoload_paths += %W(#{config.root}/lib)して追加しますconfig/application.rb

于 2011-12-21T06:52:49.093 に答える
-3

もっと簡単な方法があります: 追加するだけです

config.reload_plugins = true

development.rbへ

于 2012-05-09T21:04:18.470 に答える