web-dev-qa-db-ja.com

Javascript機能はローカルホストで機能しますが、Herokuにデプロイされた場合は機能しません

Herokuにデプロイすると、javascript機能(Bootstrap Popover、Buttonsなど))が機能しないことに気付きました。Rails 3.2.2、Ruby 1.9.3。機能はローカルホストで動作します。Herokuにデプロイしたときにエラーは表示されないようです(機能は単に表示されません)。

何か案は?ありがとう!

19
Alex De Simone

私も同様の問題を抱えていましたが、問題はローカルホストでも発生していました。

おそらくRailsを使用しています-ブートストラップgem。それはファイルbootstrap.coffee.jsをインストールしますこのファイルは犯人でした。 .popoverを使用しており、関連するプラグインは含まれていませんでした。とにかく使用していなかったのでコメントしましたが、ブートストラップ用のポップオーバープラグインを含めることを検討する必要があります。

1
amitamb

手動でのプリコンパイルは私のために働いた。

bundle exec rake assets:precompileherokuにプッシュする前に。

15
Dru

私はまったく同じ問題を抱えていました(私はRailsに非常に慣れていません)。私は最終的に、application.js内のファイルの順序を再配置することで問題を解決しました。

//= require jquery
//= require jquery_ujs
//= require Twitter/bootstrap

Javascriptが開発で機能するためには、「requirejquery」が「requireTwitter/bootstrap」の後にある必要がありました。本番環境では、jqueryを最初に使用する必要がありました。これの原因はわかりませんが、Herokuにデプロイすると機能するようになりました。

私はこれらの2つの投稿を使用しました:

javascript --Twitter bootstrap jqueryプラグインは本番用にコンパイルされていません

Twitter bootstrapドロップダウンが突然機能しない

6
TaylorT

Production.rbファイルを確認してください。私はラインがする必要があると信じています:

config.assets.compile = true

これはデフォルトでfalseに設定されていると思います。

5
pipebender

ローカルホストで通常行うことはすべて、herokuで行う必要があることを忘れないでください。必ずheroku run rake assets:precompile

2
sburke0708

私のアプリの縮小されたjsを確認したところ、ファイルにポップオーバーが2回含まれていました。

Javascriptアセットでbootstrapboostrap-sprocketsのいずれか1つだけが宣言されていることを確認してください

ドキュメントから:

bootstrap-sprocketsとbootstrapの両方をapplication.jsに含めることはできません。

bootstrap-sprocketsは個々のBootstrap Javascriptファイル(alert.jsやdropdown.jsなど)を提供し、bootstrapはすべてのBootstrapJavascriptを含む連結ファイルを提供します。

bootstrapとbootstrapスプロケットの1つだけを確認してください

参照: bootstrap-sass github issue および ここ

1
CGK

スプロケットの更新は私のために働いた:bundle update sprockets

0
vladiim