我刚刚看了backbone.js railscasts,当名称不存在时我没有收到错误警报,但确实在服务器端出现错误。
我正在使用rails 3.2.8和backbone-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
谢谢!