rails with devise,如何分离正面和背面的登录视图

时间:2015-06-25 07:28:55

标签: ruby-on-rails ruby ruby-on-rails-3 devise

我尝试将正面和背面的登录视图分开,我创建了设计用户模型,管理模型继承了用户。

../模型/ 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

enter image description here

我登录前端成功,但我无法访问后端。

1 个答案:

答案 0 :(得分:0)

我建议您通过设计文档来更好地了解gem。 基础知识: -

  1. gem 'devise'
  2. 运行rails g devise:install,这将在配置文件中生成所需的初始化程序,其中包含默认配置和所需的其他重要文件
  3. rails g devise MODEL,其中MODEL通常是USER,这将创建一个User.rb并将其与设计相关联
  4. rails g devise:views,将生成与控制器相关的登录,注册,锁定/解锁视图的视图
  5. 有关使用设计的更多信息,请here

    您可以在How Tos

    上找到指南