0

config/com/meowの場所に存在する Ruby でクラスを作成しました。クラスを作成した後、application.rb config.autoload_pathsを次のように設定しました。

config.autoload_paths += %W(#{config.root}/com/meow/)

これを行うと、初期化されていない定数を示すエラーを受け取りました。

おそらくパスを間違ってロードしたのではないかと考えて、パスを次のように変更しました。

config.autoload_paths += Dir["#{config.root}/com/meow/"]

これを行った後も、「初期化されていない定数」という同じエラーを受け取りました。

私の目標は、カスタム Ruby クラスに存在する public メソッドを参照することです。からこのメソッドを参照したいApplicationController

my 内にはApplicationController、[class].[method] で定義されたクラスとメソッドへの参照があります。

このエラーを回避し、クラス内に含まれるメソッドを my から参照するには、どうすればよいApplicationControllerですか?

4

1 に答える 1

1

何が起こるかについて少し混乱していると思いますconfig.rootconfig.rootは、アプリケーションのルート ディレクトリです。通常app/は , config/, db/, ... ディレクトリがあります。したがって、config/com/meow自動ロード パスに追加する場合は、次のようにします。

config.autoload_paths += %W(#{config.root}/config/com/meow)

私はおそらくあなたのカスタムクラスを投げ込むだけlib/で、それらは人々が通常見る標準的な場所にあり、自動ロードパスのカスタマイズについて心配する必要はありません.

于 2013-06-17T00:35:49.497 に答える