2013-09-28 24 views
7

Ruby 2.0, Rails 4.0, 9.3 PSQLJak utworzyć stronę niestandardową w ActiveAdmin gem

W dokumentacji ActiveAdmin jest przykładem:

ActiveAdmin.register_page "My Page" do 
    content do 
    para "Hello World" 
    end 
end 

Gdzie mam umieścić ten kod? Dokumentacja mówi:

W powyższym przykładzie, nowa strona zostanie utworzony w/admin/my_page z tytułem „Moja strona” i treści „Hello World”.

Oznacza to, że taki plik zostanie utworzony automatycznie w jakiś sposób? Niemniej jednak utworzyłem plik o nazwie import.rb w aplikacji/admin i pojawi się pozycja Importuj w menu. Jednak nie mogę używać HTML, ponieważ ten plik to .rb, a nie .erb. Przypuszczam, że aby móc używać html, muszę utworzyć częściowe i den renderować je w ramach metody content. Ale kiedy patrzę pod app/views nie ma folderu admin (tylko layouts). Czy to oznacza, że ​​muszę utworzyć folder admin pod app/views? Jeśli tak, to gdzie powinienem umieścić moje częściowe - bezpośrednio pod app/views/admin lub pod nowym folderem app/views/admin/import?

Przykro mi z powodu pytań w menu, ale dokumentacja ActiveAdmin jest dość skromna. Byłbym bardzo wdzięczny, gdyby ktoś mógł podać bardziej szczegółowe wyjaśnienie kroków niezbędnych do tworzenia i dodawania treści do nowej strony w ActiveAdmin.

Odpowiedz

9

Co oznacza dokumentacja, że ​​jeśli utworzysz nową niestandardową stronę app/admin/my_page.rb, ta strona będzie dostępna pod adresem URL /admin/my_page (jeśli używasz domyślnej konfiguracji ActiveAdmin).

chodzi wiadczenia ERB lub haml podszablonów Dla Państwa my_page.rb, można zrobić to w ten sposób:

ActiveAdmin.register_page "My Page" do 
    content do 
    render :partial => 'about' 
    end 
end 

to będzie wyglądać w katalogu app/views/admin/my_page/. Jeśli katalogi nie istnieją, utwórz je. Ponadto można nadal określać inne katalogi, odwołując się do pełnej ścieżki szablonu (na przykład shared/sections/about), podobnie jak w przypadku kontrolera innego niż ActiveAdmin.

+0

A skąd mamy dostęp do tej strony? –

+2

@NidhinSG: "ta strona będzie dostępna w URL/admin/my_page" :-) – kristinalim

Powiązane problemy