2013-09-28 19 views
7

Rubino 2.0, Rails 4.0, 9.3 PSQLCome creare una pagina personalizzata in ActiveAdmin gemma

Nella documentazione ActiveAdmin c'è l'esempio:

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

Dove metto questo codice? La documentazione dice:

Nell'esempio di cui sopra, una nuova pagina verrà creato in/admin/my_page con il titolo “La mia pagina” e il contenuto di “Ciao Mondo”.

Ciò implica che tale file verrà creato automaticamente in qualche modo? Tuttavia, ho creato un file chiamato import.rb sotto app/admin e appare la voce Importa nel menu. Tuttavia, non sono in grado di utilizzare l'HTML, poiché questo file è .rb e non .erb. Suppongo che, per poter usare html, ho bisogno di creare un partial e den renderlo all'interno del metodo content. Ma quando guardo sotto app/views non c'è la cartella admin (solo layouts). Questo significa che ho bisogno di creare la cartella admin sotto app/views? Se sì, dove devo inserire il mio parziale - direttamente sotto app/views/admin o sotto una nuova cartella app/views/admin/import?

Mi dispiace per le domande del menu, ma la documentazione di ActiveAdmin è piuttosto modesta. Apprezzerei molto se qualcuno potesse fornire una spiegazione più dettagliata dei passaggi necessari per creare e aggiungere contenuti a una nuova pagina in ActiveAdmin.

risposta

9

La documentazione indicava che se si crea una nuova pagina personalizzata app/admin/my_page.rb, questa pagina sarà disponibile nell'URL /admin/my_page (se si utilizza la configurazione di ActiveAdmin predefinita).

Per quanto riguarda il rendering di un ERB o Haml parziali per il vostro my_page.rb, si può fare in questo modo:

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

Questo sarà sotto la directory app/views/admin/my_page/. Se le directory non esistono, crearle. Inoltre, puoi ancora specificare altre directory facendo riferimento al percorso completo del modello (ad esempio shared/sections/about) come faresti per un controller non ActiveAdmin.

+0

E da dove si accede a questa pagina? –

+2

@NidhinSG: "questa pagina sarà disponibile nell'URL/admin/mia_page" :-) – kristinalim

Problemi correlati