Accidenti, ti ha chiesto questo 4 mesi fa in modo probabilmente avete capito questo, ormai. Ho anche avuto difficoltà a trovare una buona recensione su come farlo. Ecco quello che ho capito:
In qualunque pagina che si desidera tirare su questa finestra di dialogo, si desidera avere un div in questo modo (si noti che non vuoi visualizzare questo ancora):
<div id="person-form" title="Person" style="display:none"></div>
a questo punto di vista, si desidera anche una chiamata Ajax per tirare su questa finestra di dialogo:
<%= link_to 'Edit Profile', edit_person_path(person), :remote => true %>
Ovviamente, si desidera che questo edit_person_path per il routing a una certa azione. Tale azione dovrebbe rendere un js.erb che ha qualcosa come il seguente (in jQuery):
$("#person-form").dialog({
autoOpen: true,
height: 600,
width: 600,
modal: true,
title: 'Edit Person',
buttons: {
"Edit": function() { $("#edit_person_<%= @person.id %>").submit() },
},
open: function() {
$("#person-form").html("<%= escape_javascript(render('form')) %>")
},
});
Questo renderà un _form.html.erb parziale nella finestra di dialogo.
Nota: si sta andando ad avere bisogno di configurazione stile jQueryUI anche per la finestra di dialogo per rendere bella e abbastanza.
fonte
2011-03-15 21:13:59
Il must è solo utilizzare JqueryUI.dialog. Non hai bisogno di alcuni binari specifici – shingara
Cosa intendi con "recupera tutto il codice di dialogo dal server"? Vuoi dire recuperare il codice jQuery che può creare il dialogo? Perché non dovresti avere questo codice in un file js che è incluso nel tuo layout o vista? Se stai cercando di recuperare qualcosa con cui popolare la finestra di dialogo, questa è una storia diversa. – Samo
Hmm, c'è di più nella domanda a cui non ho risposto di seguito? Se accettabile, gradirei accettare la risposta :) –