我正在尝试让Rails在某些条件下通过ajax请求呈现.html.erb
模板。默认情况下,当我发送ajax请求时,我会一直收回.js.erb
文件。
我不会理解为什么我这样做,但我想知道是否有一种方法可以指定我何时通过ajax发送请求我希望html内容返回而不是js,或者,如果有一种方法可以在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
谢谢!
答案 0 :(得分:3)
假设您正在使用jquery,您可以设置dataType选项,即
$.ajax('some/page', {dataType: 'html'})
或
$.get('some/page', function(){ //callback}, 'html')
将格式添加到网址(即请求'/some/page.html')也应该有效(无论您如何提出请求)