Vraag Rails - AJAX a Modal Dialog?


Ik ben ge√Įnteresseerd in het leren hoe AJAX een modale dialoog is. Meestal als ik een modale dialoog aan mijn website wilde toevoegen, voegde ik de jQuery-gebruikersinterface-dialoogcode toe aan mijn hoofd-JS-bestand en bond het aan een ID.

Ik geloof dat ik met Rails een link kan maken, die alle dialoogcode van de server ophaalt en vervolgens de dialoog opent.

Is dit waar?

Als dat zo is, kunt u mij dan helpen door een eenvoudig voorbeeld te geven van waar alles in de MVC-wereld leeft?

Bedankt


11
2017-10-31 22:17


oorsprong


antwoorden:


Goh, je hebt dit 4 maanden geleden gevraagd, dus je hebt dit waarschijnlijk al wel door. Ik had ook problemen met het vinden van een goed bericht over hoe dit te doen. Hier is wat ik bedacht:

Op welke pagina u dit dialoogvenster wilt openen, u wilt een div hebben zoals zo (merk op dat u dit nog niet wilt weergeven):

<div id="person-form" title="Person" style="display:none"></div>

In die weergave wilt u ook dat een Ajax-oproep dit dialoogvenster opent:

<%= link_to 'Edit Profile', edit_person_path(person), :remote => true %>

Uiteraard wilt u dat dit edit_person_path naar een of andere actie leidt. Die actie zou een js.erb moeten maken die zoiets als het volgende heeft (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')) %>")
  },
});

Hiermee wordt een gedeeltelijke _form.html.erb in het dialoogvenster weergegeven.

Opmerking: je moet ook jQueryUI-stijl instellen om het dialoogvenster mooi en mooi weer te geven.


35
2018-03-15 21:13