2011-01-25 5 views
5

Rails 3のライブラリの推奨場所はどこですか?それは 'lib'と同じくらい簡単ですか?ライブラリはどこでRails 3に入るべきですか?

'lib'はRails 2の残骸に似ていると思われます。特に、自動ロードされていないことを考慮すると(明らかに、それについての議論がたくさんありました)。

初期化子は、オーバーライドなどの(明らかに)初期化タスク用です。

具体的には、私のモデルに含めるにはサイズが大きすぎますが、ジェネリックではない、または宝石として実装するのに十分なほどの価値がない添付ファイル処理用の小さなモジュールがあります(ペーパークリップは適合しません)。

機能の観点からは、モデル、ビュー、およびコントローラの中間にあります。これはヘルパーのように聞こえるが、RailsヘルパーはAFAIKのビューを意図している。

「lib」に入れて、application.rbに自動ロードするだけですか?または、プレゼンテーション(またはその両方)を処理するカスタムフォームビルダーを作成することもできます。

私はそれを動作させる方法を知っていますが、私は新しいことを学びたいと思っています。 :)

答えて

10

libは、この種のものを置くにはまだ適切な場所です。

Rails 3ではエンジンの仕組みのために自動ロードライブラリが削除されましたが、自動的にロードする必要がある場合はautoload_pathsに追加するのが簡単なため、必要に応じて追加できます。 libがまだロードパスにあるので、を指定する必要はありません。ここで、必要なモジュールまたはクラスはです。

あなたは正しいですが、ヘルパーはビューを意図しており、モデル関連のロジックを置く場所ではありません。

私はlibにモジュールを入れて、それを必要に応じてあなたのモデルに必要とします。

+0

非常に有益な答え、特にオートロードされていないモジュールを必要とすることの詳細。ありがとうございました! –

関連する問題