如何处理 Rails 2.3 中路线中的错误格式?例如,假设您有一个要处理 html 或 json 请求的操作,但没有其他操作,您如何在允许发布用户可读错误的同时限制它?以下片段显示了一个开始:
respond_to do |format|
format.html # render the default
format.json { do something appropriate }
format.all ?
end
问题是用什么代替?,我试过:
format.all :text => "That's a bad format.", :status => 406
并且虽然状态代码设置得当,但文本不会被渲染(至少使用像 com 这样的格式,这是我收到的格式。
一种可能性是更改路由文件,以便只接受两种格式,但这会导致路由爆炸。(我有 4 种可接受的格式。)使用的想法
map.connect '/xyz.:format', :action => ..., :controller => ..., :format => '/html|json/'
听起来不错,但不起作用——它与 xyz.comhtml 之类的内容相匹配。我很沮丧,希望我缺少一些东西。