繁体   English   中英

Rails 3.1:使用HTML响应json请求

[英]Rails 3.1: respond_to json request with HTML

是否可以用html而不是json响应json请求?

我想这样做:

respond_to do |format|
  format.html { render 'page' }
  format.json { render 'page' } #render an html page instead of a JSON response
end

但是Rails会搜索'page.json'并抛出错误。

您需要显式设置格式,内​​容类型(默认为application/json )和布局(默认为none):

respond_to do |format|
  format.html { render 'page' }
  format.json do              # render an html page instead of a JSON response
    render 'page.html', {
      :content_type => 'text/html',
      :layout       => 'application'
    }
  end
end

只需使用完整的文件名。 render 'page.html' (或任何文件被调用)。

请注意,虽然这应该有效,但如果你这样做,你可能做错了。 考虑如何重构代码,这样您就不必弯曲规则。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM