1

Rails アプリケーションで非常に単純なプラグイン システムを作成しました。これらのプラグインは、サブフォルダーに独自のビューとコントローラーを持ち込むことができます。

したがって、コントローラーを検索するときは、Rails が次のディレクトリのいずれかを検索するようにします。

  • app/controllers
  • plugins/plugin1/controllers
  • plugins/plugin2/controllers

これらのプラグイン ディレクトリを の autoload_path に追加しましたapplication.rbが、効果はありませんでした。

4

1 に答える 1

0

解決策は、ディレクトリを設定に追加するのと同じくらい簡単であることがわかりましたconfig.autoload_paths

新しいフォルダはそれぞれ、次のconfig/application.rbように追加できます。

config.autoload_paths += Dir["#{config.root}/plugins/plugin1/controllers/**/"]

これにより、実際にフォルダーとそのすべてのサブディレクトリが自動ロードされます。

(以前は、コントローラーに存在しない親クラスがあったため、これを機能させることができませんでした。何らかの理由で、Rails はそのエラーを表示する代わりに、ルートが存在しないと教えてくれました。)

于 2013-06-12T12:08:17.567 に答える