3
在Rails 2.3中,如何处理路径中的错误格式?例如,假设你有一个想要处理html或json请求的动作,但没有别的,你怎么限制它,同时允许发布用户可读的错误?下面的代码片段显示了一个开始:如何处理Rails 2路由中的错误格式?
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种可接受的格式。)使用
0123的想法map.connect '/xyz.:format', :action => ..., :controller => ..., :format => '/html|json/'
听起来不错,但不起作用 - 它匹配xyz.comhtml之类的东西。我很沮丧,并希望有一些我错过了。
不是一成不变的,但如果在'/ public /'目录中定义了一个406.html的错误页面,那么这样做会最好,对吧? – pjmorse 2011-05-06 12:56:29
是的,对不起。我想我应该更清楚一点。已经在上面编辑了,谢谢pj – 2potatocakes 2011-05-09 23:10:41
这是:我失踪的content_type;并补充说,似乎解决了我的问题。 – 2011-05-10 14:35:14