9

以下は、コントローラーで使用している典型的な Respond_to ブロックです。

  respond_to do |format|
    format.html # show.html.erb
  end

html 以外のすべての MIME タイプを制限したい (としましょう)。解決策を思い付くことができませんでした。これはどのように可能ですか? リクエストがjsonの場合、このブロックは何もしません。これは問題ありませんが、htmlではないリクエストをリダイレクトしたいのです。

ありがとう

4

1 に答える 1

16

によって生成されるformatオブジェクトrespond_toには、通常のすべてのmimeタイプ(html、js、xmlなど)があり、anyその他すべてを処理するキャッチオールmimeタイプもあります。したがって、この場合:

respond_to do |format|
  format.html
  format.any { redirect_to :foo }
end

htmlにはデフォルトのレンダリングを使用し、それ以外はすべてリダイレクトします。(少し)詳細については、ドキュメントを参照してください:http: //apidock.com/rails/ActionController/MimeResponds/respond_to

于 2013-01-18T07:58:37.383 に答える