Ruby on rails 设计管理重定向
我正在使用designe+CanCan,如果它是一个登录的管理员,我想重定向到我的管理员界面(由rails admin gem生成) 我使用以下命令自定义了用户重定向到其各自的配置文件: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,
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