1

このトピックに関する多くの投稿を確認しましたが、問題を解決するための組み合わせが見つからないようです。これが繰り返しである場合は申し訳ありません。

問題は、この時点に到達するために行った一連の手順がわからないことです。

Heroku での開発と運用の両方で、完全に機能する Rails アプリがありました。しかし、Heroku デプロイでは、アセットのプリコンパイル中にエラーが発生しました。そこで、デプロイ前に「rake asset:precompile」がローカルで実行されたと Heroku が想定するように設定を変更しました。展開エラーを取り除きました。問題ありません。ローカルでプリコンパイルし、ファイルを Git リポジトリに含める必要があるのはやや面倒ですが、エラーのないデプロイは気に入りました。

とにかく、現在開発中の CSS への変更は、オンザフライで反映されていませんでした。「rake assets:precomplile」を実行する必要があります。それは良くないね。public/assets を削除するとそれが修正されるという投稿が見つかりました。

現在、Javascript/Coffeescript の変更はオンザフライで反映されません。

長々とした説明で申し訳ありません。

理想的には、開発中に変更がオンザフライで反映される世界にたどり着き、Heroku のデプロイ前に「rake assets:precomplile」を実行する必要がなく、Heroku でのプリコンパイル中にエラーが発生しないようにすることです。 .

あまり理想的ではありませんが、最初の動作に戻るだけです (Heroku はデプロイについて不満を言っていましたが、それでもすべて正常に機能していました)。

4

1 に答える 1

0

オンザフライでアセットをプリコンパイルする場合は、(たとえばconfig/production.erb)

config.assets.compile = true
config.assets.precompile << '*.js'

次に、config/application.rbそこを見て、本番環境にデプロイする前にプリコンパイルするかどうかを選択できます

if defined?(Bundler)
  # If you precompile assets before deploying to production, use this line
  Bundler.require(*Rails.groups(:assets => %w(development test)))
  # If you want your assets lazily compiled in production, use this line
  # Bundler.require(:default, :assets, Rails.env)
end
于 2013-01-01T16:29:33.993 に答える