2010-04-28 49 views
0

我有點奇怪的問題。輸入真的太奇怪了,但是在這裏。基本上我有一個控制器,拒絕「的respond_to」使用javascript除非我分配我的「chart.generate_xml」發送給變量之前像這樣的「respond_to代碼」塊:爲什麼正確的「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」並不總是被調用。思考?

最好。

+0

你可以發佈調用此操作的代碼嗎? – danivovich 2010-04-28 01:34:34

+0

<%= link_to「

」,{:action =>「view_chart」,:id => chart.id},:popup => [「#{chart.name.gsub(/ \ W /,'_') }「,'height = 650,width = 1000']%> – 2010-04-28 06:13:29

回答

0

這可能是你的config/routes.rb文件中的問題,因爲這可能會混淆格式。

你能發佈這個文件和curl/wget的結果頭嗎?

相關問題