我试图在rails 4中构建一个API,并且在使用respond_to :json
并尝试访问html版本时,导致rails返回500错误而不是406的问题。Rails 4 - 只响应JSON而不是HTML
这里有一个例子控制器,展示了这个问题:
class PostsController < ApplicationController
respond_to :json
def index
@posts = Post.all
end
end
我也有一个index
JBuilder的视图通过JSON访问时的作品。如果我尝试访问没有JSON扩展名的路由,它会尝试加载HTML模板(不存在)并返回500错误,而不是仅呈现JSON或返回406错误。
这可能是什么原因造成的?欢呼任何帮助。
可能重复:http://stackoverflow.com/questions/14579774/respond-to-only-json-in-rails?rq=1 – Josh
我没有看到这一点,但我想知道为什么它不't只使用'respond_to:json'设置 –
'respond_to:json'和'respond_with @ posts'正确响应* HTTP/1.1 406 Not Acceptable *在生产中给我。在开发中,你会得到一个“HTTP/1.1 500内部服务器错误”和一个“ActionController :: UnknownFormat” – Leito