0

不满足控制器过滤条件时如何设置 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当调用动作为假时,我想将 HTTP 状态代码设置为 410 。我怎样才能做到这一点?

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

4

1 回答 1

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
于 2013-07-19T17:28:12.837 回答