我在一个模块化Rails应用程序上工作,遵循TutsPlus模块化Rails应用程序培训here。
然而,在安装Administrate Gem并运行rails generate administrate:install
来安装我的仪表板之后,我得到如下图所示的错误:
简而言之,管理的Gem不能与模块化Rails应用程序一起工作。如何解决此问题,或者如何使Administrate Gem支持命名空间模型?
我做了什么:
我尝试过硬编码一个仪表板,但不能只使用Administrate (由于这个错误,Rails不能在模块化Rails应用程序中很好地管理Gem,但可以使用整体式Rails应用程序)。
发布于 2022-01-24 14:02:26
合并此PR后,现在Administrate支持名称空间资源。下面是命名空间模型的示例解决方案。假设您在blog名称空间中有一个post模型。
模型
app/models/blog/post.rb
现在,您希望将其添加到管理仪表板。
只要遵循这个结构就可以让它工作。
config/routes.rb
namespace :admin do
namespace :blog do
resources :posts
end
root to: "admin_users#index"
end
#app/admin/blog/posts_controller.rb
module Admin
class Blog::PostsController < Admin::ApplicationController
end
end
#app/dashboards/blog/posts_dashboard.rb
require "administrate/base_dashboard"
class Blog::PostDashboard < Administrate::BaseDashboard
#normal stuff
end
有关详细的解决方案,请查看此discussion
发布于 2018-05-28 19:44:14
支持命名空间:
rails generate administrate:install --namespace=super_admin
要使用命名空间创建仪表板:
rails generate administrate:dashboard Model --namespace=super_admin
https://stackoverflow.com/questions/47302812
复制相似问题