过滤链停止为:require_no_authentication呈现或重定向的rails 4

时间:2015-05-15 13:44:59

标签: ruby-on-rails devise cancan

Ability.rb

def initialize(user)
  user ||= User.new
  if user.role? :Agent
    can :manage, ServiceRequest
  elsif user.role? :Punching_team
    can :manage, SrDocument
  end

service_request_controller

load_and_authorize_resource

sr_documents_controller

load_and_authorize_resource

application_controller

rescue_from CanCan::AccessDenied do |exception|
  redirect_to root_url, :alert => exception.message
end

在路线中:

devise_scope :user do
  root to: "devise/sessions#new"
end

在日志中:

Redirected to http://localhost:3000/
Filter chain halted as :require_no_authentication rendered or redirected

我在我的应用程序中使用cancan gem。我想以这样一种方式设置授权:如果用户是一个代理&#39;然后,他/她应该访问ServiceRequest模型,并使用&#39; Punching_team&#39;然后他/她应该访问SrDocument模型。但是当我使用代理登录时,获得一个无限循环。它给我一些错误,例如`过滤链停止为:require_no_authentication呈现或重定向。请帮助我。< / p>

0 个答案:

没有答案