gemではないコードをフェッチしたいgithubリポジトリがあります。これは一連のjavascriptファイルであり、gemバージョンはありません。これをGemfileに追加して、(lib / Assetsの下の)ディレクトリに保存する場所を定義できますか、それともgitサブモジュールでこれを管理する必要がありますか?
質問する
51 次
2 に答える
1
私は投票します:Gemfileをきれいに保ち、サブモジュールに行きます。
于 2012-09-17T06:49:09.863 に答える
1
Bundlerは、任意のリポジトリではなく、gemを管理します。とはいえ、一部のアセットを使用したいだけの場合は、それらをgemとして簡単にパッケージ化して、アセットパイプラインに接続できるようにすることができます。これにより、宝石を管理するためのすべてのツールを使用できるようになるだけでなく、関心の分離を適切に行えるようになるという利点があります。
そのためにRailsエンジンを追加する必要があります。そのためには、メインアプリvendor/assets
のメインディレクトリと同様のディレクトリ構造で、アセットを新しいgemのディレクトリに配置するだけです。さらに、このコンテンツでassets
新しいルビークラスを追加する必要があります。lib/your_gem.rb
module MyGem
class Engine < Rails::Engine
end
end
これにより、gemがrailsエンジンとして登録され、アセットがアセットパイプラインに提供されます。
最後にgemspecを追加すると、完了です。基本的なgem構造もコマンドで作成できますbundle gem
。
于 2012-09-17T08:05:19.643 に答える