1
def create
@listing = current_user.listing.new(listing_params)
if @listing.save
if params[:attachment]
params[:attachment].each do |key, val|
@listing.attachments.create(attachment: val)
end
end
respond_to do |format|
format.json { render json: @listing }
end
end
end
因此,我在創建控制器中列出了該代碼,並且我使用dropzone JS作爲圖像和視頻附件。儘管創建對象一切都很好,但是,我似乎無法弄清楚在表單提交後如何讓表單重定向到新創建的列表。 ajax請求是GET請求,而不是POST請求,因爲該對象已由控制器中的create動作創建,使其成爲POST請求最終創建兩個對象。我試過使用窗口位置在控制器中渲染JS,但沒有任何內容,或者我得到一個錯誤,說格式不正確。這是我的JS:Rails,AJAX,dropzone和carrierwave,處理重定向
$('#new_listing').on('submit', function(e){
e.preventDefault();
e.stopPropagation();
myDropzone.processQueue();
var form = $(this);
var post_url = form.attr('action');
$.ajax({
type: "GET",
url: post_url,
dataType: "JSON",
success: function(data) {
console.log(data)
}
});
});
我最終做了類似的事情,我必須讓控制器通過JSON呈現列表ID並將其傳遞給JS中的成功函數,並將其傳遞給location.href。 –
我試圖在Amazone s3上一次上傳超過5張圖片,我的AJAX代碼在'success'塊中。如果我選擇4個圖像並上傳,它會發生什麼情況。但是,如果我上傳超過4張圖片,則會上傳,但不會在「成功」塊中獲得回叫。你知道爲什麼嗎? – kpp