RailsAdmin仪表板自定义

时间:2014-08-26 09:14:38

标签: ruby-on-rails metrics rails-admin

我想在RailsAdmin信息中心上显示一些指标 我使用自定义sql查询来从数据库中获取数据。

如何更改信息中心视图以显示该数据?

我可以自定义app/views/rails_admin/main/dashboard.html.erb app/views/rails_admin/main/dashboard.html.haml,但我在哪里定义查询结果

@result = Metric.data

由于

2 个答案:

答案 0 :(得分:2)

如果需要,您可以添加任意数量的仪表板

Rails admin config

RailsAdmin.config do |config|
config.actions do
    dashboard
    require_relative '../../lib/rails_admin/config/actions/dashboard'

    root :admin_dashboard
    root :teacher_dashboard
    root :director_dashboard
end

访问默认仪表板时重定向到特定仪表板

/ LIB / rails_admin /配置/动作/的 dashborad.rb

require 'rails_admin/config/actions'
require 'rails_admin/config/actions/base'

module RailsAdmin
  module Config
    module Actions
      class Dashboard < RailsAdmin::Config::Actions::Base
        RailsAdmin::Config::Actions.register(self)
        register_instance_option :root? do
          true
        end
        register_instance_option :breadcrumb_parent do
        end
        register_instance_option :link_icon do
          'icon-hand-up'
        end
        register_instance_option :controller do
          proc do
            if current_user.instance_of? Teacher
              redirect_to '/admin/teacher_dashboard'
            elsif current_user.instance_of? Director
              redirect_to '/admin/campus_director_dashboard'
            elsif current_user.instance_of? Admin
              redirect_to '/admin/admin_dashboard'
            end
          end
        end
      end
    end
  end
end

管理仪表板控制器示例

/ LIB / rails_admin /配置/动作/的 admin_dashborad.rb

require 'rails_admin/config/actions'
require 'rails_admin/config/actions/base'
module RailsAdmin
  module Config
    module Actions
      class AdminDashboard < RailsAdmin::Config::Actions::Base
        RailsAdmin::Config::Actions.register(self)
        register_instance_option :root? do
          true
        end
        register_instance_option :breadcrumb_parent do
        end
        register_instance_option :link_icon do
          'icon-hand-up'
        end
        register_instance_option :controller do
          proc do
            render action: @action.template_name
          end
        end
      end
    end
  end
end

答案 1 :(得分:-1)

app/admin/dashboard.rb文件中创建索引方法。然后在那里获取结果。 EXP:

index do
    # renders app/views/admin/posts/_some_partial.html.erb
    @category = Category.includes(:products).find params[:id]
    render partial: "category_attributes"
  end

此处为视图索引方法的部分。