[英]Render rails fields_for through ajax call
我有一個AJAX電話:
$('#enrollment_members').change(function(){
var memberNumber = $(this);
$.ajax({type: 'GET',
url: $(this).href,
type: "get",
data: { members: memberNumber.val() },
error: function(){ alert("There was a problem, please try again.") }
});
return false;
console.log(data);
});
通過它我將params [:members]發送到一個新方法中。
我想做這樣的事情:
def new
@enrollment = Enrollment.new
params[:members] ? params[:members].to_i.times { @enrollment.atendees.build } : @enrollment.atendees.build
respond_to do |format|
format.js
end
end
我需要此值才能知道要構建多少fields_for
。
但這是在新操作中,在members
輸入字段中輸入值后,如何更新新視圖的內容?
在該三元組中,@ enrollment.atendees包含4個對象。
我的new.js.erb
:
$("#contact-wrap").html("<%= j render(:partial => 'enrollments/form') %>");
xhr響應包含4個fields_for
表單。
#enrollment_members
對象是否是您要傳遞給控制器的輸入值?
如果是這樣,請嘗試以下操作:
$('#enrollment_members').change(function(){
var memberNumber = $(this);
$.ajax({type: 'GET',
url: $(this).href,
type: "get",
data: { members: memberNumber.serialize() }, //CHANGE
error: function(){
alert("There was a problem, please try again.")
}
});
return false;
我通過修改ajax調用使其工作:
$('#enrollment_members').change(function(){
var memberNumber = $(this);
$.ajax({type: 'GET',
url: $(this).href,
type: "get",
dataType : "html",
data: { members: memberNumber.val() },
success: function( data ) {
var result = $('<div />').append(data).find('#contact-wrap').html();
$('#contact-wrap').html(result);
$('#atendees-wrap').show();
},
error: function( xhr, status ) {
alert( "Sorry, there was a problem!" );
}
});
return false;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.