0

Rails 3.2を使用していて、これをGemfileとして使用しています。

gem 'rails', '3.2.11'

group :development do
  gem 'sqlite3', '1.3.5'
  gem 'rspec-rails', '2.11.0'
end

group :assets do
  gem 'sass-rails',   '3.2.5'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.2'
gem 'coffee-script'

group :test do
  gem 'capybara', '1.1.2'
end

group :production do
  gem 'pg', '0.12.2'
  gem 'therubyracer-heroku', '~> 0.8.1.pre3'
end

私のウェブアプリはローカルホストで正常に動作しますが、Coffeescriptファイルが原因でHerokuでは動作しません。それが何らかの形で役立つ場合、私はHerokuCedarを使用しています。Heroku Webアプリでソースを調べましたが、私のcofeescriptがHerokuのように縮小されたjavascriptにコンパイルされたようには見えません。そのコーヒースクリプトをHerokuでコンパイルするにはどうすればよいですか?私は何が間違っているのですか?

4

2 に答える 2

1

すべての可能性をチェックするには、アプリケーションについてもっと詳しく知る必要があります。

開始するのに適した場所はrake assets:precompile、ローカルで実行できることを確認することです。これは、Herokuが実行するコマンドです。適切に設定されている場合は実行する必要があります。

さらに詳しく知るには、Herokuのアセットパイプラインを読んで、「tを越え​​てiを点在させている」ことを確認することをお勧めします。

それでも問題が解決しない場合は、この質問をより具体的な情報で編集できる可能性があります。

于 2013-01-16T22:09:06.307 に答える
0

Heroku's Cedar では、therubyracer-heroku を Gemfile に含める必要はありません。ソースの application.js を確認すると、coffeescript が javascript にコンパイルされていることがわかりました。問題は、私の coffeescript が app/assets/libs に保存されている他のファイルに依存していたことです。Heroku がそこまで深く入っているとは思わないので、JavaScript がすべてロードされていなかったと思います。どちらも実行する必要はありませんrake assets:precompileでした。動作するGemfileは次のとおりです。

source 'https://rubygems.org'

gem 'rails', '3.2.11'

group :development do
  gem 'sqlite3', '1.3.5'
  gem 'rspec-rails', '2.11.0'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '3.2.5'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.2'

group :test do
    gem 'capybara', '1.1.2'
end

group :production do
  gem 'pg', '0.12.2'
end
于 2013-01-24T19:35:46.170 に答える