Jquery 在执行AJAX HTTP请求时,在没有布局的情况下呈现模板时出现问题

Jquery 在执行AJAX HTTP请求时,在没有布局的情况下呈现模板时出现问题,jquery,ruby-on-rails,ruby,ajax,rendering,Jquery,Ruby On Rails,Ruby,Ajax,Rendering,我正在使用RubyonRails3.0.10和jQuery1.6。我试图在控制器操作中处理与模板呈现相关的行为。我正在考虑根据参数请求渲染或不渲染布局(有关更多信息,请参阅下面的代码) 在我的控制器中,响应程序的实现方式如下: def show respond_to do |format| format.html { render :layout => params[:layout] } # I am using the 'params[:layout]' (boolean)

我正在使用RubyonRails3.0.10和jQuery1.6。我试图在控制器操作中处理与模板呈现相关的行为。我正在考虑根据参数请求渲染或不渲染布局(有关更多信息,请参阅下面的代码)

在我的控制器中,响应程序的实现方式如下:

def show
  respond_to do |format|
    format.html { render :layout => params[:layout] } # I am using the 'params[:layout]' (boolean) in order to handle the layout rendering.
  end
end
因此,如果我浏览
http://website.com/articles/1
URL它加载没有布局的视图模板

现在,如果我执行一个AJAX HTTP请求,如下所示

  $jQ.ajax({
    type:    'GET',
    url:     '<%= article_url(@article) %>',
    data:    'layout=false', # Here I set the parameter 'params[:layout]' so to not render the 'layout' in the related controller action
    error:   function(jqXHR, textStatus, errorThrown) {
      ...
    },
    success: function(data, textStatus, jqXHR) {
      ...

      div_jquery_object.html(data);
    }
  });
$jQ.ajax({
键入:“GET”,
url:“”,
数据:'layout=false',#这里我设置了参数'params[:layout]',以便在相关控制器操作中不呈现'layout'
错误:函数(jqXHR、textStatus、errorshown){
...
},
成功:函数(数据、文本状态、jqXHR){
...
div_jquery_object.html(数据);
}
});
它将使用布局加载视图样板


AJAX HTTP请求是否应该返回没有布局的模板?如何制作?

参数[:布局]
是一个字符串

如果不需要任何布局,则应传递
false
,而不是
“false”

因此,您应该使用一些
case
语句