1

状況は次のとおりです。

gem内のすべてのプロジェクトで再利用するすべてのjsコードの移動を開始し、gemを次の場所で作成することにしました。

/Users/alain/Dropbox/rails_app/alain_toolbox 

したがって、私のプロジェクトでは、物事が機能しているかどうかをテストするために、次の行をgemファイルに追加します。

gem 'alain_toolbox', '=0.0.1', path:'/Users/alain/Dropbox/rails_app/alain_toolbox

すべてが正常に動作します。

次に、私は

gem build alain_toolbox.gemspec 
gem push alain_toolbox-0.0.1.gem

そして、すべてが機能しているようです。そこで、gemfileのgemrequireを次のように置き換えます。

gem 'alain_toolbox'

次に、バンドルを実行すると、gemが正常にインストールされます。問題は、アプリを開くと、行に「alain_toolbox」が見つからないというエラーが表示されることです。

<%= javascript_include_tag "application" %>

そしてapplication.jsは次のようになります:

//= require alain_toolbox

私が地元にいたときに働いていました。

だから問題は:なぜですか?(!)

どうも。

4

2 に答える 2

1

エラーが見つかりました:方法がわかりませんが、アセットファイルに対して「gitadd」を実行するのを忘れました。ファイルが追加され、gemが再構築されると、すべてが期待どおりに機能しました。

于 2012-12-24T02:33:43.483 に答える
0

Railsガイドは、gemがrailsエンジンを実装する必要があることを示しています。さらに、アセットは、gem内の指定されたディレクトリの1つ(app / Assets、lib / Assets、またはvendor / Assets)にある必要があります。ローカルの場合、どういうわけかあなたの宝石はすでにその道にあると思います。

このAsciiCastによると、Rails.application.config.assets.paths configuratioを印刷することで、Railsコンソールでアセットパイプラインパスを確認できます。

関連する質問:アセットパイプラインパスでGemベンダーファイルを取得する

于 2012-12-21T04:38:55.197 に答える