2013-04-13 29 views
8

Khi .destroy'ing a Model, tôi cần chuyển thông số bổ sung cho ứng dụng Rails của mình. Tôi đã đọc một vài bài viết về cách làm điều này, tuy nhiên ứng dụng Rails của tôi vẫn không nhận ra nó. Bất kỳ đề xuất? Tham số là program_idBackbone.js .destroy Vượt qua Params bổ sung?

var thisDeal = new WhiteDeals.Models.EditorDeal({ id: dealID }); 
thisDeal.destroy({headers: { program_id: dealProgram.id } }) 

Đây là nhật ký máy chủ. Như bạn có thể thấy, các thông số program_id không hiển thị:

Started DELETE "/editor_deals/46" for 127.0.0.1 at 2013-04-13 13:26:32 -0700 
Processing by DashboardController#deal_destroy as JSON 
Parameters: {"id"=>"46"} 
+0

bạn đã thử với 'thisDeal.destroy ({dữ liệu: {program_id: dealProgram.id}})'? – nemesv

+1

Nó hoạt động! Tôi nghĩ tôi đã thử điều đó trước đây, nhưng tôi đoán là tôi đã không làm vậy. Nếu bạn muốn thêm câu trả lời này làm câu trả lời, tôi sẽ kiểm tra. Chỉ cần bao gồm processData: cũng đúng, vì nó không hoạt động mà không được chuyển thành true. – ac360

Trả lời

19

Đối tượng những gì bạn vượt qua như một tham số để destroy cuối cùng sẽ kết thúc như là tham số thiết lập một cuộc gọi jQuery.ajax.

Vì vậy, nếu bạn cần phải gửi dữ liệu bổ sung mà bạn cần phải sử dụng data proeprty:

var thisDeal = new WhiteDeals.Models.EditorDeal({ id: dealID }); 
thisDeal.destroy({data: { program_id: dealProgram.id }, processData: true}) 
+0

Hoạt động hoàn hảo, cảm ơn nemesv! – ac360

Các vấn đề liên quan