ActiveAdmin设计应该从不同于API设计控制器的控制器继承

时间:2019-05-17 09:03:06

标签: ruby-on-rails ruby devise activeadmin rails-api

我创建了一个Rails api项目,也想使用ActiveAdmin。完成更改后,将ActiveAdmin与API项目一起使用

  1. 让ApplicationController继承自ActionController :: Base
  2. 创建一个继承自ActionController:API的ApiController
  3. 将我的 devise.rb 中的parent_controller更改为 ApiController

现在由于以下错误,我无法再启动服务器

activeadmin-2.0.0/lib/active_admin/devise.rb:30:in `block in <module:Controller>': undefined method `layout' for ActiveAdmin::Devise::SessionsController:Class (NoMethodError)

这是由新的父控制器进行设计引起的。 ActiveAdmin控制器必须从 ActionController :: Base 继承。将父控制器改回 ApplicationController 我无法再通过API创建用户,因为 RegistrationsController 尝试呈现 new_session_path

#<ActionView::Template::Error: undefined method `new_api_v1_user_session_path' for #<ActionDispatch::Routing::RoutesProxy:0x00007f42b0345450>>"

这是由父控制器返回到ApplicationController :: Base引起的。 我希望ActiveAdmin Devise控制器从 ApplicationController 继承,而我的普通Devise控制器从 ApiController

继承

我该如何实现?

0 个答案:

没有答案