设置activeadmin gem后的Rails api脚手架问题
Posted
技术标签:
【中文标题】设置activeadmin gem后的Rails api脚手架问题【英文标题】:Rails api scaffold issue after setting activeadmin gem 【发布时间】:2019-03-30 13:30:32 【问题描述】:我刚开始使用 rails-api,我想为后端实现一些管理用户界面。因为我习惯了 activeadmin gem,所以我在这里尝试使用它。我按照一些步骤来启用运行它所需的中间件,因为它处于 API 模式。
其中一个步骤是在application_controller.rb
中更改以下内容:
class ApplicationController < ActionController::API
end
到
class ApplicationController < ActionController::Base
end
然后创建一个api_controller.rb
并使其继承自ActionController::API
class ApiController < ActionController::API
end
按照这些步骤,我的 activeadmin 运行良好。我的问题是,现在当我尝试运行 rails generate scaffold 命令来生成新模型时,它会停在
invoke inherited_resources_controller
并抛出下一个错误:
Could not find "api_controller.rb" in any of your source paths.
我想我可以手动控制控制器,它会很好(?),但我仍然想知道为什么会发生这种情况以及如何解决它,因为它可以节省我的时间。
【问题讨论】:
This closed IR PR 可能是相关的,您的解决方案看起来不错。 【参考方案1】:经过大量阅读,我解决了我的问题,将其添加到我的application.rb
:
config.app_generators.scaffold_controller = :scaffold_controller
【讨论】:
以上是关于设置activeadmin gem后的Rails api脚手架问题的主要内容,如果未能解决你的问题,请参考以下文章
Rails6 禁用所有非 ActiveAdmin 页面的 ActiveAdmin 布局
PostsController #index中的NameError
ActiveAdmin - 未初始化的常量 AdminUser
在 Rails 5 应用程序中使用 ActiveAdmin 创建用户个人资料页面