2

私のプロジェクトでは、libフォルダーの下にいくつかのクラスを作成しましたが、railsは本番環境でそれらのクラスを検出していません。初期化されていない定数エラーが発生します。

私は本番環境でApacheを使用し、開発環境でRailsスクリプト/サーバーを使用しています。

RAILS_ROOT環境に何か問題がありますか?誰かがこの問題を克服する方法を提案できますか?

4

2 に答える 2

1

Railsについてはよくわかりませんが、Rubyでは次のようにして実現できます:(レールでも機能しますが、レールにはエレガントな方法が必要です)

require File.join(File.dirname(__FILE__), "lib",'your_module_name')
include your_module_name

これを試してみてくださいconfig/application.rb(私はあなたがrails3を持っていると思います)

config.load_paths += %W( #{config.root}/lib )

更新:Rails- RAILS_ROOT / lib内のモデルが本番モードで使用できないのはなぜですか?

于 2010-11-10T09:16:45.387 に答える
0

ファイルの名前が、ディレクトリを考慮して、ファイルで定義されているクラスまたはモジュールの名前と一致していることを確認してください。

すなわち:

lib/my_new_class.rb

class MyNewClass
end

または、ディレクトリ階層がある場合:

lib/my_files/my_module.rb

module MyFiles
  module MyModule
  end
end
于 2010-11-10T13:06:21.947 に答える