Ruby on rails 从ActiveAdmin中删除仪表板页面
我想用自定义页面替换ActiveAdmin中的默认仪表板页面 这主要是因为我需要一个基于资源的页面,即使用Ruby on rails 从ActiveAdmin中删除仪表板页面,ruby-on-rails,activeadmin,Ruby On Rails,Activeadmin,我想用自定义页面替换ActiveAdmin中的默认仪表板页面 这主要是因为我需要一个基于资源的页面,即使用ActiveAdmin.register生成的页面,而不是使用ActiveAdmin.register\u page生成的页面 我刚刚删除了dashboard.rb文件,希望MyCustomAdmin这是一个常规(且有效)的ActiveAdmin资源,可以简单地取代dashboard 但它没有,相反,我得到了这个错误: uninitialized constant Admin::Dashbo
ActiveAdmin.register
生成的页面,而不是使用ActiveAdmin.register\u page
生成的页面
我刚刚删除了dashboard.rb
文件,希望MyCustomAdmin
这是一个常规(且有效)的ActiveAdmin资源,可以简单地取代dashboard
但它没有,相反,我得到了这个错误:
uninitialized constant Admin::DashboardController
因此,我更改了ActiveAdmin初始值设定项并设置:
# config/initializers/active_admin.rb
config.root_to = 'my_custom_admin#index'
我还有如下MyCustomAdmin
:
# app/admin/my_custom_admin.rb
ActiveAdmin.register MyCustomAdmin do
menu :priority => 1, :label => 'Report'
index do
column "column 1 title", :column1
end
end
在我的模型中,我还有:
# app/models/my_custom_admin.rb
class MyCustomAdmin < ActiveRecord::Base
end
但是如果我转到localhost:3000/admin/my_custom_admin
它就可以正常工作了
为什么
localhost:3000/admin
不工作?活动管理员为您生成一个控制器。控制器是多元化的因此,在活动管理员初始值设定项中,应使用复数形式:
config.root_to = 'my_custom_admins#index'
这就是解决办法
它抱怨说
uninitialized constant Admin::MyCustomAdminController
因为它初始化的是:
MyCustomAdminsController
相反。使用ActiveAdmin 0.5.0,我能够: 1) 将仪表板以外的页面设为默认的ActiveAdmin页面 2) 从菜单中删除仪表板选项卡。(仍然可以通过url访问) 对config/initializers/active_admin.rb的添加:
ActiveAdmin.setup do |config|
...
# The default start page becomes SomethingElse
config.root_to = 'something_else#index'
end
module ActiveAdmin
module Dashboards
class << self
# Remove the dashboard tab from the menu
alias_method :original_add_to_menu, :add_to_menu
def add_to_menu(namespace, menu)
# empty
end
end
end
end
ActiveAdmin.setup do | config|
...
#默认的起始页变为SomethingElse
config.root_to='something_other#index'
结束
模块ActiveAdmin
模块仪表板
类在app/admin/dashboard.rb中
将menu false设置为隐藏仪表板按钮
在config/initializers/active_admin.rb中
设置如下内容:
# app/admin/my_custom_admin.rb
ActiveAdmin.register MyCustomAdmin do
menu :priority => 1, :label => 'Report'
index do
column "column 1 title", :column1
end
end
config.root_to='entities#index'查看第二个答案——更改您想要使用的控制器/操作。还不是很幸运:-(.修改config/initializer/active_admin.rb的想法似乎是可行的,但是如果我将config.root_设置为='my_admin#class#index',如果我输入(如建议的那样),我会得到一个“未初始化常量”。)admin/my_admin_class#我得到的索引和“unizilized constant admin::admin”