0
我有一个骨干应用程序,我已经集成到我的Rails应用程序。我试图将我的验证错误传递回创建的Backbone模型,但它并没有让它回到Backbone。骨干网错误回调与Rails 4控制器响应
这里是我的模型:
# app/assets/javascripts/models/source.js.coffee
class MyApp.Models.Source extends Backbone.Model
urlRoot: '/api/sources'
我的轨控制器:
# app/controller/api/sources_controller.rb
class Api::SourcesController < ApplicationController
respond_to :json
def create
@source = Source.new source_params
if @source.save
respond_with @source
else
render json: { error: @source.error.messages }, status: 422
end
end
def source_params
params.require(:source).permit(:feed_id, :source, :term)
end
end
最后的代码,试图创建我的模型:
# app/assets/javascripts/views/new_source.js.coffee
class MyApp.Views.SourceForm extends Backbone.View
events: ->
'submit .new_source': 'createSource'
createSource: ->
@source = new Juicer.Models.Source $(event.target).serializeHash()
@source.save
success: =>
console.log 'ya'
error: =>
console.log 'boo'
当我真正运行这个代码,但它永远不会让它回到这个骨干回调,而是我得到了这个错误nsole:
POST http://localhost:3000/api/sources 422 (Unprocessable Entity)
我周围挖的骨干源一下,但我想不通这是为什么不使它通过。它似乎卡住了jQuery .ajax方法,它应该触发错误回调,但似乎正在中断。
我使用骨干V1.1.1和jQuery v1.11.1和Rails 4.1.5
@muistooshort我故意想它在这种情况下失败,我想source.save返回false。如果我传入适当的参数,它工作正常。 – goddamnyouryan 2014-08-28 22:51:59