2014-05-21 19 views
6

Ho due modelli correlati, Bunny has_many BunnyData (che appartiene a Bunny). Dalla pagina di visualizzazione di un particolare Bunny (in Active Admin), voglio creare un collegamento per creare un BunnyData correlato. Ho provato un paio di modi diversi, senza successo, e attualmente sto provando questo:Passa un parametro alla nuova azione in Active Admin

sidebar :data, :only => :show do 
    link_to 'New Data', new_admin_bunny_datum(:bunny_id => bunny.id) 
end 

Il link generato finisce come qualcosa di simile:

.../admin/bunny_data/new?bunny_id=5

Ma quando si va a quella pagina, il menu a discesa per Bunny è impostato come predefinito vuoto anziché mostrare il nome di Bunny con ID 5.

Grazie in anticipo.

+0

Il tuo post aiuta anche: https://groups.google.com/forum/#!msg/activeadmin/Ufmt8Uux0RA/mTm7KKB3D2IJ – monteirobrena

risposta

14

Gli spazi dei nomi delle barre formano campi nel modello dati, in questo caso BunnyData. Perché il modulo sia pre-compilato, tutti i campi forniti devono includere anche lo spazio dei nomi. Per fare un esempio:

ActiveAdmin.register Post do 
    form do |f| 
    f.inputs "Post Details" do 
     f.input :user 
     f.input :title 
     f.input :content 
    end 
    f.actions 
    end 
end 

I campi possono essere pre-riempite passando un hash per l'helper percorso.

link_to 'New Post', new_admin_post_path(:post => { :user_id => user.id }) 

Quale genera il seguente percorso e imposta il campo modulo.

/admin/posts/new?post[user_id]=5

Nel caso di BunnyData, potrebbe essere leggermente differente dovuto alle forme singolari e plurali di riferimento. Ma ciò può essere verificato ispezionando l'HTML generato per trovare l'attributo name degli input.

Problemi correlati