Rails - AJAX a Modal Dialog?

前端 未结 1 985
一整个雨季
一整个雨季 2020-12-24 04:02

I\'m interested in learning how to AJAX a modal dialog. Typically if I wanted to add a modal dialog to my web site I added the jquery UI dialog code in my main JS file and b

相关标签:
1条回答
  • 2020-12-24 04:15

    Gosh, you asked this 4 months ago so you've probably figured this out by now. I also had trouble finding a good write up on how to do this. Here's what I figured out:

    In whatever page you want to pull up this dialog box, you want to have a div like so (notice you don't want to display this yet):

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

    In that view, you also want an Ajax call to pull up this dialog box:

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

    Obviously, you want this edit_person_path to route to some action. That action should render a js.erb that has something like the following (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')) %>")
      },
    });
    

    This will render a partial _form.html.erb into the dialog box.

    Note: you're going to need to setup jQueryUI style as well for the dialog to render nice and pretty.

    0 讨论(0)
提交回复
热议问题