我尝试将正面和背面的登录视图分开,我创建了设计用户模型,管理模型继承了用户。
../模型/ user.rb
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :confirmable
end
../模型/ admin.rb
class Admin < User
end
我将用户中的每个视图文件夹复制到管理文件夹(会话,用户等)。
正面和背面登录页面的工作,但 before_action:autenticate_(管理员或用户)是正面和背面分开的。 在前端和后端登录后,我无法一起使用数据。
所以问题是:如何在正面和后端登录后使用用户数据?
抱歉,我的英语不好。
编辑:
路线
...
# Devise
devise_for :admin, controllers:{ :sessions => 'admin/sessions'},
path_names: { sign_up: 'register', sign_in: 'login', sign_out: 'logout' }
devise_for :user, path: 'a',
path_names: { sign_up: 'register', sign_in: 'login', sign_out: 'logout' }
...
../控制器/ application_controller.rb
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :username
end
end
../控制器/管理/ application_controller.rb
class Admin::ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
before_action :configure_permitted_parameters, if: :devise_controller?
layout = "admin/application"
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :username
end
end
我登录前端成功,但我无法访问后端。