【发布时间】:2011-09-09 09:02:00
【问题描述】:
我只是想知道 rails 是如何知道请求的格式以正确输入著名的:
respond_to do |format|
format.html
format.xml
format.json
end
作为一个例子,考虑一下我所面临的这种情况。假设通过 javascript(使用 jQuery)我发出一个明确 dataType: json
的 POST 请求$.ajax({
type: 'POST',
url: 'example.com',
data: data,
dataType: 'json'
});
当这个请求到达控制器动作时,用 ruby 调试器站在它里面,我检查@request.format,我可以看到内容类型是 application/json。然后控制器按预期响应 json 格式。
但我对路线中指定的格式符号感到困惑。假设向 example.com/parts.json 发出请求,但请求中的内容类型是 application/html 或 application/xml。 控制器是响应json格式还是html或xml??
谢谢!
【问题讨论】:
标签: ruby-on-rails controller format