rails page.replace_html导致filedownload窗口的弹出窗口

时间:2010-08-15 05:44:22

标签: ruby-on-rails ajax

我打算使用以下代码替换名为“activitypage”的部分网页,但我得到了一个文件下载窗口,其中显示消息“您要保存文件还是要查找要打开的程序”。 为什么?谢谢,

render :update do |page|
    page.replace_html ('activitypage', :partial => 'index')
  end
  return

编辑:

诺埃尔,谢谢你的回复。我希望这是全貌。

在客户端页面中有一个提交按钮,如此定义,

 <div class="form_row">
<% form_remote_tag :url => {:controller => '/group', :action => 'add'},
:html => {:action => {:controller => '/group', :action => 'add'}} do %>
<%= submit_tag "Add!", :class => "submit" %>

&lt;%end%&gt;   

在Add of controller group功能中,我有代码

def add //add the member into the group table //then go back to the /group/index page //which will replace the content in webPage "activitypage" render :update do |page| page.replace_html ('activitypage', :partial => 'index') end return end

在后端,控制器:action(here / group / add)按预期工作,但在客户端浏览器中,弹出了一个文件下载窗口以保存或打开文件?

我很困惑!??????

1 个答案:

答案 0 :(得分:0)

你怎么称呼这个? 它可能是客户端代码中的问题。 如果它被Ajax.request调用,那么您可能需要将evalJS选项设置为true。

或者尝试:content_type =&gt;你的page.replace_html电话中的'text / javascript'。

编辑---&gt;

刚看了remote_form_for的文档,我想你可以通过采用略有不同的方法取得一些成功。

如果您的控制器直接

render :partial => 'index'

并将以下选项添加到远程表单标记

:update => "activitypage"

但这并没有真正回答你原来的问题。我建议使用WireShark或FireFox的Tamper Data插件仔细查看响应头(不确定Tamper Data是否显示对ajax请求的响应)。我可能会对content_type或处置标题出错。它可能与您的服务器配置有关。

(我讨厌这些应该“正常工作”的问题。)