Backbone.js - 重定向到已删除的对象

时间:2013-10-30 13:53:41

标签: ruby-on-rails redirect backbone.js routing

当我使用@ model.destroy方法删除对象时,它会尝试重定向到已删除的对象。如何更改路由以重定向到root?

我的删除方法:

  deleteBook: (ev) ->
    @model.destroy success: ->
      router.navigate "",
        trigger: true

路由器:

Router = Backbone.Router.extend(routes: 
  "": "home"
)

更新

完整错误:

GET http://localhost:3000/ 404 (Not Found) jquery.js?body=1:8707
send                                       jquery.js?body=1:8707
jQuery.extend.ajax                         jquery.js?body=1:8137
Backbone.sync                              backbone_rails_sync.js?body=1:65
_.extend.destroy                           backbone.js?body=1:428
Backbone.View.extend.deleteBook            main.js?body=1:32
jQuery.event.dispatch                      jquery.js?body=1:5096
elemData.handle

UPDATE2:

我的coffeescript文件:

  $(document).ready ->
    window.Book = Backbone.Model.extend(
      urlRoot: '/books/', idAttribute: 'id'
    )


    BooksView = Backbone.View.extend(
      el: ".books"
      addOne: (model) ->
        view = new BookView(model: model)
        $("ul.books").append view.render()
    )

    Router = Backbone.Router.extend(routes: 
      "": "home"
    )

    Books = Backbone.Collection.extend(
      model: Book

      url: '/books/'
    )



    BookView = Backbone.View.extend(
      tagName: "li"
      events:
        "click .delete": "deleteBook"

      deleteBook: (ev) ->
        @model.destroy()

      render: ->
        #@$el.append('Some text <button type="button" class="delete">Delete</button>')
        title = @model.get("title")
        author = @model.get("author")
        year = @model.get("year")
        link = "books/"+@model.get("id")
        a = document.createElement('a')
        a.href = link
        show = '<a href="'+a+'">Show</a>'       
        row = title + ", " + author + ", " + year + " " + show
        $(@el).html row
        @$el.append(' <button type="button" class="delete">Delete</button>')


    )

    books = new Books()
    books.url = "books.json"
    books.fetch success: ->
      books_view = new BooksView({})
      _.each books.models, (model) ->
        books_view.addOne model

看起来它甚至没有看成功函数,要么它试图重定向到被删除对象的路径。

或者它仍然可以引用已删除的对象,它会在删除后尝试使用GET方法吗?..

0 个答案:

没有答案