0

我通过执行以下操作进行 ajax 调用来编辑表单:

$(".edit_meeting_button").live("click", function(){
  var mid = $(this).attr("id");
  $.ajax({type:'GET', url: '/meetings/' + mid + '/edit', success: function(data) {
    $(".right-box").html(data);
  }});
  $(".display_zone").html("<%= escape_javascript(render :partial => "display_attendees", :locals => {:all => @atendees}) %>");
  return false;
})

我得到了所需的操作,其中 div ".right-box" 显示要编辑的表单,但下一次更新 ".display_zone" 的调用无法使用一组新的@attendees 进行更新,我在调用时在控制器中处理了这些@attendees编辑表格。所以我希望“.display_zone”向我展示新的与会者,但事实并非如此。我想这会起作用,但我想问是否有更巧妙(和正确)的方法来实现这一点。

$(".edit_meeting_button").live("click", function(){
  var mid = $(this).attr("id");
  $.ajax({type:'GET', url: '/meetings/' + mid + '/edit', success: function(data) {
    $(".right-box").html(data);
  }});

  $.ajax({type:'GET', url: '/meetings/update_display' + mid, success: function(data) {
    $(".display_zone").html(data);
  }});

  return false;
})

谢谢!

4

1 回答 1

0

根据这个问题Rendering a partial in assets我认为您不能在资产中使用“渲染”,但作为解决方案的一种解决方法,我认为如果您返回要在同一个 ajax 调用中使用的两个部分会更好而不是使用 2 个电话。

我希望这会有所帮助

于 2012-10-21T09:23:03.770 回答