我有一個數組,其中包含一些在Javascript中動態生成的參數。填充一些字段並按提交後,我想要在DB中生成多個記錄,其中包含來自表單字段+數據的數據,例如名稱,數組[0];名稱,數組[1];名稱,數組[2]等。所以,我決定做以下幾點: 在我看來(我用simpleform)Rails 3 - 使用javascript創建多個記錄
<%= simple_form_for(@stop_time, :html => {:remote => true, :class => 'well form-horizontal'}) do |f| %>
<%= f.input :stop_id %>
<%= f.button :submit %>
和腳本部分(我用固定值現在):
<script type="text/javascript">
$('#new_stop_time').submit(function(){
$.ajax({
beforeSend: function(xhr) {
xhr.setRequestHeader(
'X-CSRF-Token',
$('meta[name="csrf-token"]').attr('content'))},
url: "/stop_times.json",
type: "POST",
contentType: "application/json",
data: JSON.stringify([
arrival_time:"04:40:00",
created_at:"2013-04-20T20:37:30Z",
departure_time:"04:40:00",
drop_off_type:0,
id:1881,
pickup_type:0,
shape_dist_traveled:null,
stop_headsign:null,
stop_id:84612,
stop_sequence:1,
trip_id:"ABCDE",
updated_at:"2013-04-20T20:37:30Z"
]
]})
});
});
但在鉻調試我看到2 POST請求正在發送(一/停止時間從形式和其他/stop_times.json wic h用代碼422得到響應)。
不應該只是一個POST請求?我想讓Javascript做POST而不是表單。 是否有任何其他(更明顯)的方式來創建多個記錄?
感謝,
多米尼克
感謝@UberNeet :)現在它的工作原理與一個記錄。它傳遞給控制器並創建正確的記錄。我可以創建整個數組以將其作爲JSON傳遞,但不知道如何在控制器端處理它。我認爲有需要一些循環,但我不知道該怎麼params爲build.I've添加以下內容:
@i = 0
while @i< params.length-1 do
@stop_time = StopTime.new(params[@i][:stop_time])
@i +=1
end