My Rail 3.1アプリがローカルで正常に動作しますが、Heroku上で実行すると、Railsはvendors/assets/javascripts
ディレクトリ内でjavascriptを見つけられませんそれらを手動でブラウズすることができます。rails 3.1.3 app on Herokuがベンダー/アセットを見つけられない(またはプリコンパイルする)
私はplupload-rails3 gemを使用していますが、gemのjavascriptはHerokuにロードされていませんが、ローカルのdevマシンで正常に読み込まれます。私が持っている私の資産/ JavaScriptの/ application.jsで
:
//= require_tree ../../../vendor/assets/javascripts/plupload-rails3
//= require_tree ../../../vendor/assets/stylesheets/plupload-rails3
//= require_tree ../../../vendor/assets/images/plupload-rails3
私はHerokuの上で自分のアプリケーションを実行すると、ログはトークン識別子と、RailsがロードしようとpluploadのJavaScriptのそれぞれで失敗を示して:
ActionController :: RoutingError(Noルートマッチ "/assets/plupload-rails3/plupload/js/plupload.full-f4741a878138cea127e6b38b6a08cf12.js" [GET]):
のでpluploadウィジェットは上の表示されません。 Herokuのページ(ただし、私がloc同盟国)。しかし
、私は手動で(IDトークンなし)、その場所を参照する場合:
http://MYAPPNAME.herokuapp.com/assets/plupload-rails3/plupload/js/plupload.full.js 私は、ファイルを参照しています。
アセットをローカルでプリコンパイルしてから、同じ結果でHerokuにプッシュしようとしました。
Roku on Herokuがベンダー/アセットのパイプラインにアクセスしているので、アプリ内の何かが壊れています。
(私のproduction.rbファイルにconfig.assets.compile = true
があります。元のfalse設定は、プリコンパイルされたアセットを見つけられなかった場合にクラッシュするため、少なくともクラッシュしませんが、javascriptウィジェットは無視されます。
私は 'ActionView :: Template :: Error(require_tree引数は(/Users/MYNAME/myapps/APPNAME/app/assets/javascripts/application.js:13にある)ディレクトリでなければなりません' – jpwynn
私はそれがポストからであったと推測しました。試してみてください// plupload-rails3を要求します –
はい、私はレーキタスクを実行しました。 require_treeの場合は、相対パス(application.jsとの相対位置)でなければならないので、明らかに../../../が必要です。だから問題は続く...私のアプリのベンダー/資産の資産は、Heroku上で実行しているときにRailsにアクセスできない – jpwynn