Rails - AJAX模态对话框?

The*_*xit 11 jquery ruby-on-rails ruby-on-rails-3

我有兴趣学习如何使用AJAX模式对话框.通常,如果我想在我的网站上添加模态对话框,我在主JS文件中添加了jquery UI对话框代码,并将其绑定到ID.

我相信使用Rails我可以创建一个Link,它从服务器获取所有对话框代码,然后打开对话框.

这是真的?

如果是这样,你可以通过提供一个简单的例子来帮助我理解轨道MVC世界中的所有东西吗?

谢谢

Jin*_*Kim 36

天哪,你4个月前问过这个问题,所以你现在可能已经想到了这一点.我也很难找到关于如何做到这一点的好文章.这是我想出的:

在你想要拉出这个对话框的任何页面中,你想要一个像这样的div(注意你还不想显示它):

<div id="person-form" title="Person" style="display:none"></div>
Run Code Online (Sandbox Code Playgroud)

在该视图中,您还需要一个Ajax调用来拉出此对话框:

<%= link_to 'Edit Profile', edit_person_path(person), :remote => true %>
Run Code Online (Sandbox Code Playgroud)

显然,您希望此edit_person_path路由到某个操作.该动作应该呈现一个类似于以下内容的js.erb(在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')) %>")
  },
});
Run Code Online (Sandbox Code Playgroud)

这将在对话框中呈现部分_form.html.erb.

注意:您将需要设置jQueryUI样式以使对话框呈现漂亮和漂亮.