Rails 3:HTTP 406和尝试在浏览器中查看json的空白页面

时间:2011-10-21 15:46:11

标签: ruby-on-rails ruby-on-rails-3 json controller

我对Rails和ajax有点新,我在尝试在我的控制器中调试一些相当简单的ajax请求时遇到了以下挫折。

我有以下代码:

respond_to do |format|
  #format.html { render :json => db_clean_response.to_json }
  format.json { render :json => db_clean_response.to_json }
end

当我尝试通过手动输入URL和参数来调试它时,控制器正确地准备响应,但Rails以HTTP/406 Not Acceptable响应,除非我取消注释format.html命令。 (请注意,format.html内容仅用于尝试解决此问题。)

希望这个函数用html响应,因为它只用于ajax的东西。此外,Rails使用json uglyprinted响应空html,我想使用像JSONView这样的插件来美化它。

这里发生了什么?我觉得理想的结果非常简单,但某些东西,某个地方搞得一团糟。当我尝试调试ajax时,我希望我的浏览器在没有跛脚的情况下拉起该死的json: - (

1 个答案:

答案 0 :(得分:3)

事实证明,将format=json添加到URL参数可以实现我的目的:强制Rails返回带有所有正确标题的json