困惑一个函数:before_filter

时间:2011-12-29 23:31:27

标签: ruby authentication ruby-on-rails-3.1 before-filter

我有以下控制器:

class CarsController < ApplicationController
  autocomplete :user, :name
  before_filter :require_user, :except => [:my_action]

  def index
  end

  ...

  def my_action
  end
end

我想允许只为登录用户查看此控制器中的所有操作 - 这对我很有用。但我希望所有人都可以访问my_action行动 - 也适用于未登录的人。

我尝试使用:before_filter参数设置:except,同时使用:only参数设置,但我没有任何作用...应用总是希望我登录..我在做什么还是错的?

来自application_controller.rb的

编辑require_user

   def require_no_user
      logger.debug "ApplicationController::require_no_user"
      if current_user
        #store_location
        flash[:warning] = "You must be logged out to access this page"
        redirect_to account_url
        return false
      end
    end

1 个答案:

答案 0 :(得分:1)

使用 skip_before_filter:require_user,:only =&gt; [:my_action]