如何为具有不同登录页面的同一用户使用Devise和ActiveAdmin

时间:2016-04-27 06:12:42

标签: ruby-on-rails activeadmin

我想使用Devise登录具有相同用户模型的常规非管理员用户。所以我使用角色id作为另一个属性,一切正常。挑战在于我必须为前端用户创建自定义登录页面,注册页面和其他相关页面。当前路由文件是:

Rails.application.routes.draw do
  devise_for :users, ActiveAdmin::Devise.config
  ActiveAdmin.routes(self)
end

由于我想生成新的登录表单并希望覆盖控制器,我添加了devise_for:users但它给了我一个错误路由定义。我怎么能解决冲突?

此外,以下是有效的管理设置:

config.authentication_method = :authenticate_user!
config.current_user_method = :current_user

我想自定义登录页面并注册页面控制器,因为我必须在注册表单中添加一些内容。

1 个答案:

答案 0 :(得分:1)

您可以在active_admin.rb配置中覆盖ActiveAdmin,以使用您在应用中使用的相同User模型:

因此,如果您的主要设计范围是user

在active_admin.rb

ActiveAdmin.setup do |config|
# ...
  config.authentication_method = :authenticate_user!
  config.current_user_method = :current_user
# ...

http://activeadmin.info/docs/1-general-configuration.html