如何检查或设置视图模板扩展
How to check or setup view template extension
我有 jbuilder 文件:
app/views/api/items/show.json.jbuilder
代码
render :show
#or
render :show, template: "api/items/show"
无效 - template is missing
,但代码
render :show, template: "api/items/show.json"
工作正常。
怎么了?需要检查什么?
要查看哪个文件或要转储什么?
您必须使用 respond_to
方法来告诉 Rails 您正在响应 json
请求。
def show
respond_to do |format|
format.json
end
end
另一种方式是通过 HTTP header:
headers: {
"Accept": "application/json"
}
它不需要在控制器方法中指定格式。
和代码:
render :show
现在工作正常。
我评论了一些限制 HTTP headers 请求的代码。 @Iceman 的回答将我转到正确的方向进行检查,因此他的回答标记为 answer
.
我有 jbuilder 文件:
app/views/api/items/show.json.jbuilder
代码
render :show
#or
render :show, template: "api/items/show"
无效 - template is missing
,但代码
render :show, template: "api/items/show.json"
工作正常。
怎么了?需要检查什么? 要查看哪个文件或要转储什么?
您必须使用 respond_to
方法来告诉 Rails 您正在响应 json
请求。
def show
respond_to do |format|
format.json
end
end
另一种方式是通过 HTTP header:
headers: {
"Accept": "application/json"
}
它不需要在控制器方法中指定格式。 和代码:
render :show
现在工作正常。
我评论了一些限制 HTTP headers 请求的代码。 @Iceman 的回答将我转到正确的方向进行检查,因此他的回答标记为 answer
.