0

gemではないコードをフェッチしたいgithubリポジトリがあります。これは一連のjavascriptファイルであり、gemバージョンはありません。これをGemfileに追加して、(lib / Assetsの下の)ディレクトリに保存する場所を定義できますか、それともgitサブモジュールでこれを管理する必要がありますか?

4

2 に答える 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 に答える