ROR返回JSON,406不可接受错误

Kri*_*ris 7 ruby-on-rails

当我们使用返回JSON输出时render :json =>@profiles,输出将返回所需的结果,并显示406错误.如何避免'406 Not Acceptable'错误?

Mik*_*kin 13

我更确定你有这个问题.

说明:

假设你的控制器只返回json答案

def action
  # call
  respond_to do |format|
    format.json { render json: results }
  end
end
Run Code Online (Sandbox Code Playgroud)

这将尽快返回json:

  • /path_to_action.json 叫做
  • /path_to_action用标题调用,Content-Type:application/json;可能还有一些其他标题类型(例如X-Requested-With:XMLHttpRequest)

否则,它会返回406 Not Acceptable错误.

为避免此问题,如果您的控制器只返回json,请写:

def action
  # call
  render json: results
end
Run Code Online (Sandbox Code Playgroud)

否则,请/path_to_action.json改用.