Rails respond_to重定向除X mime-type之外的所有请求

时间:2013-01-18 07:45:32

标签: ruby-on-rails ruby-on-rails-3

以下是我在我的控制器中使用的典型的respond_to阻止

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

我想限制除html之外的所有mime类型(比如说)。 无法想出解决方案,这怎么可能?如果请求是json,这个块什么都不做,这没关系,但我想要的是重定向任何不是html的请求。

谢谢

1 个答案:

答案 0 :(得分:11)

format产生的respond_to对象具有所有常用的mime类型(html,js,xml等),并且它还具有一个全能的mime类型any,将处理其他一切。所以,在这种情况下:

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

将使用html的默认渲染,并将重定向其他所有内容。请参阅文档(一点点)更多信息:http://apidock.com/rails/ActionController/MimeResponds/respond_to