0

少し奇妙な問題があります。入力するには本当に奇妙すぎますが、ここに行きます。基本的に、次のように「respond_to」ブロックの前の変数に「chart.generate_xml」を割り当てない限り、javascriptを使用して「respond_to」を拒否するコントローラーがあります。

  @xml = @chart.generate_xml(@begin_date,@end_date,1.hour)
  respond_to do |format|
    format.html
    format.js{
      render :update do |page|
        page.insert_html :bottom, "chart-div", @xml
        #page.insert_html :bottom, "chart-div", @chart.generate_xml(@begin_date,@end_date,1.hour)
      end
    }

上部の「@xml=…」部分を削除して下部の「page.insert」に移動すると、「format.js」セクションが呼び出されません。また、「request.format =:js」を使用してフォーマットを強制しようとすると、JavaScriptがテキストとして返されます。ここでは、そのメソッド呼び出しで特別なことは何もしていないので、なぜ別の応答を選択するのかわかりません。

FWIW、このコントローラーアクションをトリガーするメソッドはJSを使用してトリガーするため、「format.js」が常に呼び出されるとは限らない理由について混乱しています。考え?

一番。

4

1 に答える 1

0

config/routes.rb ファイルで問題が発生する可能性があります。形式が乱れる可能性があるからです。

このファイルと curl/wget の結果のヘッダーを投稿していただけますか?

于 2010-04-28T02:26:08.863 に答える