アプリケーションを本番モードに切り替えようとしていますが、サーバーを起動するたびに内部サーバー エラー (500) が発生します。
私が使用しているコマンド:
thin start -p 2048 -e production --ssl --ssl-key-file ./mykey.key --ssl-cert-file ./mycert.crt
だから私は私のログの中を見ました:
-> production.log
ActionView::Template::Error (jquery-1.7.1.min.js isn't precompiled):
3: <head>
4: <title>MSDNAA</title>
5: <%= stylesheet_link_tag "application" %>
6: <%= javascript_include_tag "jquery-1.7.1.min.js" %>
7: <%= javascript_include_tag "application" %>
8: <%= csrf_meta_tags if false %>
9: </head>
まあ、私はRailsにかなり慣れていないので、アセットパイプライン(279と282)を処理する2つのRailscastを見て、すべてを理解していることを確認しました。私がしなければならないことは次のとおりであることを正しく理解している場合: 次の行を application.js に追加します。
//= require jquery
//= require jquery_ujs
//= require_self
//= require_tree .
これには、必要なすべての JQuery ファイル、それ自体、およびアセット ディレクトリ内のすべての JS ファイルが含まれます。次に、JQuery-Rails gem がインストールされ、Gemfile 内に含まれていることを確認する必要があります。バンドルが使用されていることを確認するためにバンドルをヒットし、すべてが正常に機能しました。次に、Rails Cast 282 で説明されている内容を追加しました。その後、次のコマンドを使用してアセットをプリコンパイルする必要があります。
bundle exec rake assets:precompile
その後、私はまだそのエラーが発生します。jquery-1.7.1.min.js をロードする必要はありません。アプリケーション ディレクトリ内にさえありません。私が心配している2番目のことは、次のようにブラウザ経由でアプリに接続しているときです:
https://myapp:2048/assets/application.js
JScript に関連するすべてのものをまとめて表示する必要があります。代わりに、「404 - ページが見つかりません」というエラーが表示され、ログには「/[AppDir]/assets/javascripts/application.js に一致するルートがありません」と表示されます。
私は何を間違っていますか?私は何か見落としてますか?(私は推測する!)
バージョン情報:
Rails 3.2.8 ruby 1.9.3p194 (2012-04-20 リビジョン 35410) [i686-linux]