【问题标题】:Backbone.js and Rails 3.2Backbone.js 和 Rails 3.2
【发布时间】:2012-10-29 22:42:41
【问题描述】:

我刚刚看了backbone.js railscasts,当名称不存在时我没有收到错误警报,但确实在服务器端出现错误。

我正在使用 rails 3.2.8 和bone-on-rails 0.9.2.3

在网络控制台中,它确实指出 api/entries 存在错误,并且在响应中存在错误键,但是当我单击添加时仍然没有警报,而表单上没有任何内容。

这是我的代码...请帮我找出可能的问题!

class Raffler.Views.EntriesIndex extends Backbone.View

  template: JST['entries/index']

  events:
    'submit #new_entry': 'createEntry'
    'click #draw': 'drawWinner'

  initialize: ->
    @collection.on('reset', @render)
    @collection.on('add', @appendEntry)

  render: =>
    $(@el).html(@template())
    @collection.each(@appendEntry)
    this

  appendEntry: (entry) =>
    view = new Raffler.Views.Entry(model: entry)
    @$('#entries').append(view.render().el)

  drawWinner: (event) ->
    event.preventDefault()
    @collection.drawWinner()

  createEntry: (event) ->
    event.preventDefault()
    attributes = name: $('#new_entry_name').val()
    @collection.create attributes,
      wait: true
      success: -> $('#new_entry')[0].reset()
      error: @handleError

    handleError: (entry, response) ->
      if response.status == 422
        errors = $.parseJSON(response.responseText).errors
        for attribute, messages of errors
          alert "#{attribute} #{message}" for message in messages

谢谢!

【问题讨论】:

    标签: ruby-on-rails backbone.js coffeescript railscasts


    【解决方案1】:

    您的缩进错误,因此您没有@handleError,而是您的createEntry 方法返回了这样的对象:

    { handleError: (entry, response) -> ... }
    

    所以当你尝试使用@handleError 作为错误回调时:

    @collection.create attributes,
      wait: true
      success: -> ...
      error: @handleError # <----------- Here
    

    你真的是在说:

    @collection.create attributes,
      wait: true
      success: -> ...
      error: undefined
    

    将错误回调设置为undefined 并没有任何用处。

    handleError 拉回左边距两个空格,你可能会有更好的运气。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      • 2012-07-05
      相关资源
      最近更新 更多