【问题标题】:Why is the proper "respond_to" format not getting called?为什么没有调用正确的“respond_to”格式?
【发布时间】:2010-04-28 00:14:10
【问题描述】:

我遇到了一个奇怪的问题。真的太奇怪了,打不出来,但这里有。基本上我有一个控制器拒绝使用javascript“respond_to”,除非我在“respond_to”块之前将我的“chart.generate_xml”分配给一个变量,如下所示:

  @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”。想法?

最好的。

【问题讨论】:

  • 你能贴出调用这个动作的代码吗?
  • ",{:action => "view_chart ", :id => chart.id}, :popup => ["#{chart.name.gsub(/\W/,'_')}", 'height = 650, width = 1000']%>

标签: javascript ruby-on-rails controller format respond-to


【解决方案1】:

这可能是您的 config/routes.rb 文件中的问题,因为这会与格式混淆。

你能发布这个文件和 curl/wget 的结果的标题吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-03
    • 1970-01-01
    • 2020-04-22
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多