2012-04-21 61 views
3

我正在尝试Rails在某些条件下通过ajax请求呈现.html.erb模板。默认情况下,当我发送ajax请求时,我会一直收回.js.erb文件。如何在Rails 3中使用ajax请求来请求html页面?

我不会理解为什么我这样做,但我想知道是否有方法来指定我通过ajax发送请求的时间,而不是js要求返回html内容,或者或者,如果有一种方法可以在Rails 3.1中重构以下内容:

respond_to do |format| 
    format.html 
    format.js do 
    if params[:page].nil? 
     render "home.html.erb" 
    else 
     render "home.js.erb" 
    end 
    end 
end 

谢谢!

回答

3

假设你正在使用jQuery,您可以设置具体的数据类型选择,即:

$.ajax('some/page', {dataType: 'html'}) 

或者

$.get('some/page', function(){ //callback}, 'html') 

添加格式的URL(即要求“/some/page.html ')也应该工作(不管你如何提出请求)

+0

非常感谢! – 2012-05-06 02:36:01