2010-04-28 56 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的结果头吗?

相关问题