2013-07-11 13 views
5

Chciałbym zamienić domyślną stronę pulpitu w ActiveAdmin na stronę niestandardową.Usuń stronę pulpitu nawigacyjnego z ActiveAdmin

Dzieje się tak głównie dlatego, że chcę strony opartej na zasobach, tj. Strony wygenerowanej przy użyciu ActiveAdmin.register, a nie z ActiveAdmin.register_page.

Właśnie usunąłem plik dashboard.rb, mając nadzieję, że MyCustomAdmin, który jest zwykłym (i działającym) zasobem ActiveAdmin, po prostu zastąpi pulpit nawigacyjny.

Ale nie, zamiast tego dostaję ten błąd:

uninitialized constant Admin::DashboardController 

Więc zmieniłem inicjator ActiveAdmin i ustawić:

# config/initializers/active_admin.rb 

config.root_to = 'my_custom_admin#index' 

Mam też MyCustomAdmin takiego:

# app/admin/my_custom_admin.rb 

ActiveAdmin.register MyCustomAdmin do 
    menu :priority => 1, :label => 'Report' 

    index do 
    column "column 1 title", :column1 
    end 

end 

Wśród moich modeli mam również:

# app/models/my_custom_admin.rb 

class MyCustomAdmin < ActiveRecord::Base 
end 

Więc problem jest gdy próbuję przejść na localhost:3000/admin pojawia się błąd:

uninitialized constant Admin::MyCustomAdminController 

Ale jeśli pójdę do localhost:3000/admin/my_custom_admin to działa dobrze.

Dlaczego nie działa localhost:3000/admin?

+0

Wyjazd 2nd odpowiedź http: // stackoverflow. com/questions/11087362/setting-root-page-to-activeadmin-default-login-page - zmień na kontroler/akcję, której chcesz użyć. –

+0

Masz szczęście? – zeantsoi

+0

Nie jest to jeszcze zbyt wielkie szczęście :-(Pomysł modyfikowania pliku config/initializer/active_admin.rb wydaje się być właściwy, ale jeśli ustawię config.root_to = 'my_admin_class # index', otrzymam stałą "niezainicjowaną"; umieszczam (zgodnie z sugestią) admin/my_admin_class # index otrzymuję i 'zunifikowany stały Admin :: Admin' – AgostinoX

Odpowiedz

12

Aktywny administrator generuje kontroler dla ciebie. A kontroler jest pluralizowany.

Więc w aktywnym administratora inicjatora należy użyć formy liczby mnogiej:

config.root_to = 'my_custom_admins#index' 

I to jest rozwiązanie.

Zarzuca ona

uninitialized constant Admin::MyCustomAdminController 

ponieważ to, co jest inicjowany:

MyCustomAdminsController 

zamiast.

1

Korzystanie ActiveAdmin 0.5.0 udało mi się:

1) dokonać strona inna niż na desce rozdzielczej domyślna strona ActiveAdmin.

2) Usuń zakładkę pulpitu z menu. (Nadal dostępne poprzez URL)

Dodatki do config/inicjalizatory/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 
8

W app/admin/dashboard.rb

zestaw menu fałszywe, aby ukryć przycisk na desce rozdzielczej.

W config/inicjalizatory/active_admin.rb

zestaw coś takiego:

config.root_to = 'Podmioty Wskaźnik'

Powiązane problemy