1

私が JS ファイルを要求しているのに、Rails が HTML ファイルを提供しているという奇妙な問題です。そして、それは私のステージング サーバー (Heroku) にのみあり、ローカル マシンにはありません。

私はスクリプトを介して他のページに含める必要がある動的なJavascriptファイルを持っています:

<script type="text/javascript" src="http://example.com/embed.js></script>

その埋め込みは、HTML も処理するコントローラーとアクションにマップされます。関連するルートは次のようになります。

match "/embed(.:format)" => "articles#embed", as: "embed"

そして、コントローラーのアクションはかなり標準的です。

def embed
  respond_to do |format|
    format.html do
      #it renders some HTML
    end
    format.js #no block is given
  end
end

そして、app/views/articles の下に 2 つのビューがあります

  • 埋め込み.html.haml
  • 埋め込み.js.コーヒー

私のローカル マシンでは、localhost:3000/embed.js を要求すると機能します。Javascript を問題なくレンダリングします。ただし、ステージング サーバーでは、ログに次のように表示されます。

Started GET "/embed.js" for 124.168.219.36 at 2012-11-04 00:23:01 +0000
Processing by ArticlesController#embed as JS
  Rendered articles/embed.html.haml (1.5ms)
Completed 500 Internal Server Error in 2ms

内部サーバー エラーは問題ではありません。問題は、リクエストを JS として認識しているにもかかわらず、HTML テンプレートをステージングでのみレンダリングすることを決定していることです。

どうしたの?

4

0 に答える 0