Ruby on rails 设计管理重定向

Ruby on rails 设计管理重定向,ruby-on-rails,ruby-on-rails-3,devise,Ruby On Rails,Ruby On Rails 3,Devise,我正在使用designe+CanCan,如果它是一个登录的管理员,我想重定向到我的管理员界面(由rails admin gem生成) 我使用以下命令自定义了用户重定向到其各自的配置文件: class ApplicationController < ActionController::Base protect_from_forgery rescue_from CanCan::AccessDenied do |exception| redirect_to root_path,

我正在使用designe+CanCan,如果它是一个登录的管理员,我想重定向到我的管理员界面(由rails admin gem生成)

我使用以下命令自定义了用户重定向到其各自的配置文件:

class ApplicationController < ActionController::Base
  protect_from_forgery
  rescue_from CanCan::AccessDenied do |exception|
    redirect_to root_path, :alert => exception.message
  end
  def after_sign_in_path_for(resource)
    user_path(current_user)
  end

end
user.rb

class User < ActiveRecord::Base
    rolify
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable
 .....
class用户
我假设您的用户模型上有一个布尔
admin
属性

def after_sign_in_path_for(resource)
  if current_user.has_role? :admin
    rails_admin.dashboard_path
  else
    user_path(current_user)
  end
end

我正在使用cancan,rolify和Desive。。因此,标准模型设置如上所述(现在添加了所有相关模型)@xnm
class User < ActiveRecord::Base
    rolify
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable
 .....
def after_sign_in_path_for(resource)
  if current_user.has_role? :admin
    rails_admin.dashboard_path
  else
    user_path(current_user)
  end
end