2

シナリオは次のとおりです。複数の Rails アプリで特定のモデルを共有する必要がある小さなクローズド ソース プロジェクトです。基本的に、1 つの DB と複数のアプリがさまざまな方法で読み取り/書き込みを行いますが、すべて同じインターフェイスを使用します。この DAL のコードを 1 か所だけに実装し、それを必要とするすべてのプロジェクトと何らかの形で共有したいと考えています。

gitをVCSとして使用していると仮定して、最新のRailsバージョンでそれを行う最適な方法は何ですか? あなたがいつも読んでいる 3 つの候補は、gem (独自の gem サーバーをホストしている場合、内部使用のためにのみ作成できることを理解しています)、Rails プラグイン、および git サブモジュールです。

3 つのオプションすべてを考えると、1 つを別のオプションよりも優先して選択する理由の概要を見つけることができませんでした。皆さんが私を助けてくれることを願っていました!

ありがとうございました!

4

2 に答える 2

3

gem を使用して、アプリケーションにバンドルすることをお勧めします。いくつかのプライベート gem を使用しており、それらをvendor/cacheディレクトリに保持しています。

プラグインは非推奨であり、削除されます。(Rails 4.0 では削除されると思います) また、警告の吐き出しも引き起こします。

サブモジュールを使用するのは興味深いアイデアですが、それでも gem を使い続けるつもりです。

于 2012-05-12T07:27:46.600 に答える
2

いくつかの一般的なコードを gem にカプセル化することは、今日では良い習慣です。プライベート gem を保存するサービスを提供する「プライベート gem クラウド サーバー」を自称するGemfuryがあります。

于 2012-05-12T08:17:28.010 に答える