質問

私はかなりよくに沿って移動するレールのアプリを持っていますが、私はこれをやっているという事実は、私自身は、いくつかの貧しい人々芝は最終的になぜあなたはこれを入れたのですか?これを見ると、あなたは一体何を考えていた」、言おうとしていることを意味しますここに?!?!」

どこが悪い、ごめん魂は、単一のモデルクラス以外のものによって使用されていない一連のクラスを見ることを期待するだろうということですか?もちろん、私はクラスTheModelとともにthe_model.rbでそれをチャック可能性があり、これは計画された二つのクラスを超えて拡張することがあります...

私はlibに考えたが、それは、世界のすべての人の見解を乱雑にする必要はありません....

ありがとうございます。

私の前任者に感謝します。

役に立ちましたか?

解決

あなたが複数の場所でそれらを必要とするまでthe_model.rbでそれらを残します。あなたは不リファクタリングした場合、あなたはおそらく仕事ができる最も簡単なことをやっていません。 あなたはつもりではありません、それはを必要とする。

この時点で、一般的なパターンは、「懸念」用のディレクトリを作成することです。参照してください。 Jamisバックするまたは詳細については、ピーターMarklund にすることで、この1。

他のヒント

一般的に:ファイルシステムの場所にクラス名を翻訳する際にRailsの命名規則に従ってください。 (つまり:FooHelper::Barでクラスfoo_helper/bar.rbを保つ)

あなたは一度だけ使用し、モデルと同じファイルに保管している小さなヘルパークラスの例外を作ることができますが、それらは例外でなければなりません。 (しかし、逆もまた真である、単一行ファイルの1行の数千人を作成しないでください)

あなたの利点にモジュールやクラスの名前空間を使用してください。あなただけが使用する(とに依存して)されたヘルパークラスモデルを持っている場合は、モデルクラスの名前空間にそれらを入れます:

class TheModel::HelperClass
end

ファイル・システム内の位置がapp/models/the_model/helper_class.rbされる

そして、あなたのモデルに依存しない何かがおそらくまだ名前空間することができます。

module Bar
  class Foo
  end
end

bar/foo.rbでの生活はもちろんの

あなたはおそらくlibへのモデルではないものを入れることを恐れてはならない - それは、このディレクトリがあるものだ。のための

私は、便利ながら懸念は、を言うだろうそれは複数のファイルにのシングルのクラスを分割する方法であり、あなたがそれをやっているようには見えません。

ので、本当に行くための正しい方法ではありません
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top