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のような形式では)。
1つの可能性は、2つの形式のみが受け入れられるようにルートファイルを変更することですが、それはルートの爆発的な増加につながります。(私は4つの受け入れ可能なフォーマットを持っています。)使用のアイデア
map.connect '/xyz.:format', :action => ..., :controller => ..., :format => '/html|json/'
良さそうに聞こえますが、機能しません。xyz.comhtmlのようなものと一致します。私はイライラしていて、何か足りないものがあることを望んでいます。