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