我在我的應用程序中使用了rails 4和backbone。我創建的刪除方法與骨幹網,但是當我嘗試用它來刪除,我得到這個錯誤:Backbone.js - 刪除錯誤的請求400(錯誤的請求)
DELETE http://localhost:3000/[object%20Object] 400 (Bad Request)
我的刪除方法:
deleteBook: (ev) ->
@model.destroy()
)
活動:
events:
"click .delete": "deleteBook"
按上那個錯誤,它顯示模型類型是text/html
。所以我想我必須把它轉換成json?
如果我這樣做:
deleteBook: (ev) ->
@model.toJSON().destroy()
)
更新:
我在軌控制銷燬方法(如果它的事項):
@book = Book.find(params[:id])
@book.destroy
redirect_to '/'
UPDATE2:
我的骨幹型號:
$(document).ready ->
window.Book = Backbone.Model.extend(url: ->
(if @id then "/books/" + @id else "/books")
urlRoot: '/books/'
)
然後沒有任何反應,我不會得到任何錯誤。所以我覺得我在這裏做錯了什麼?
我認爲你的問題不在Backbone中,而是在你的服務器上。當你在模型中使用destroy時,它會啓動一個ajax請求來永久刪除它。 – Puigcerber
@Puigcerber如果它在服務器中,我該如何修復它?如果這個問題很重要,我用我的導軌銷燬方法更新了我的問題。 – Andrius
您在模型中設置的URL必須與您在Rails中使用的URL相同。例如,如果您在您的書籍模型'urlRoot:'/ books /''中,您需要http:// localhost:3000/books/[id]指向您的Ruby方法。 – Puigcerber