如何在过滤器上设置HTTP状态代码?

时间:2013-07-19 17:18:08

标签: ruby-on-rails http

如果不满足控制器过滤条件,如何设置HTTP状态代码?

例如,在以下控制器中

class FooController < ApplicationController
  before_filter :foo_filter

  def action
     respond_to :html
  end

  private

  def foo_filter
    return false unless some_conditions
  end
end

我想在调用some_conditions为false的操作时将HTTP状态代码设置为410。我怎么能这样做?

我有两个应用程序正在运行,一个在rails 3中,另一个在rails 2中,所以我对每个rails版本的答案感兴趣,如果不同的话。

1 个答案:

答案 0 :(得分:2)

class FooController < ApplicationController
  before_filter :foo_filter

  def action
    respond_to :html
  end

  private

  def foo_filter
    head :gone unless some_conditions
  end
end