我有一个 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
输入字段中输入值后如何更新新 View 的内容?
从该三元组中,@enrollment.atendees 包含 4 个对象。
我的new.js.erb
:
$("#contact-wrap").html("<%= j render(:partial => 'enrollments/form') %>");
xhr 响应包含 4 个 fields_for
表单。
最佳答案
对象#enrollment_members
是您尝试传递给 Controller 的输入值吗?
如果是这样,请尝试以下操作:
$('#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;
关于javascript - 通过ajax调用渲染rails fields_for,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35443266/