【发布时间】:2018-07-15 15:55:25
【问题描述】:
我正在处理一个 Rails 表单,我需要将在 Jquery 中创建的数组发送到我的 rails 控制器。我很难以正确的格式获取数据。
在更新此模型时,我设法让 Jquery 数组通过 AJAX 发送。它为数组参数发送正常 PATCH 和附加 PATCH。所以2更新。一切都可以找到更新,它有点hacky,但可以满足我的需要。
这在创建时不起作用,因为我不能发送两个 POST 请求来创建同一个对象?这有意义吗?
所以我想我的问题是如何让我的 AJAX 数据与普通表单提交一起标记?
这里是
$('#employer_job_submit_button').on('click',function(){
$.ajax({
url:"/jobs/<%= @job.id %>",
type:'PATCH',
dataType:'json',
data:{
job: {
benefits: tags_array
}
}
});
});
这是我的观点(部分)
<%= form_for @job, :html => {:class => 'profile_form'} do |f| %>
.....
<div>
<%= f.submit "Post Job", class: "btn btn-primary btn-block", id: "employer_job_submit_button" %></div>
</div>
<% end %>
我尝试使用单独的代码来创建新工作。像这样:
$('#employer_job_submit_button').on('click',function(e){
e.preventDefault();
var form_data = $('form').serialize()
$.ajax({
url:"/jobs",
type:'POST',
dataType:'json',
data:{
job: form_data
}
});
});
这会通过 AJAX 发送我所有的表单数据,但我不知道如何将“好处”数组添加到表单数据中。这也不是我真正想做的,因为它绕过了标准的 Rails 表单。
我只想添加我的 Jquery 创建的数组以及表单数据。
【问题讨论】:
标签: javascript jquery ruby-on-rails ajax forms