before_filter:除了似乎没有工作

时间:2010-12-14 02:26:54

标签: ruby-on-rails before-filter

我必须做些傻事。关于为什么这不起作用的任何想法。当使用以下配置向控制器发出请求时,系统会提示我进行身份验证:

class ApplicationController < ActionController::Base

before_filter :auth, :except => [:aboutus]

auth方法就是这样。它工作正常但适用于所有控制器,包括aboutus

  #Simple HTTP Auth during development
  def auth
    authenticate_or_request_with_http_basic do |username, password|
      username == "REDACTED" && password == "REDACTED"
    end
  end 

由于

1 个答案:

答案 0 :(得分:3)

此配置适用于ApplicationController的“aboutus”操作。您是否尝试将before_filter定义放在实际具有“aboutus”方法/操作的控制器中?

您可以将它放在ApplicationController中:

before_filter :auth

然后,在包含aboutus方法的控制器中:

skip_before_filter :auth, :only => :aboutus
这样你不重复代码,一切看起来都不错。