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の新しいセットで更新できません。フォームを編集します。そのため、「。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 に答える