Ruby on rails 从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中的默认仪表板页面

这主要是因为我需要一个基于资源的页面,即使用
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”