2014-09-03 1 views
3

Я хочу пропустить policy_scope требование для Pundit на одном контроллере (на дому). Я пробовал:Пропустить область чеканить на одном контроллере

class ApplicationController < ActionController::Base 
    include Pundit 
    after_action :verify_authorized, :except => :index, unless: :devise_controller? 
    after_action :verify_policy_scoped, :only => :index, unless: controller.controller_name == "home" 
end 

class HomeController < ApplicationController 
    def index 
    redirect_to (new_user_session_path) unless user_signed_in? 
    if user_signed_in? 
     @user=current_user 
    end 
    end 
    end 

Но я не думаю, что контроллер определен еще или что-то еще? Любые мысли или предложения?

ответ

4

Я совершил это, добавив skip_after_action к дому контроллера:

class HomeController < ApplicationController 
    skip_after_action :verify_policy_scoped, :only => :index 
end