我想知道backbone.js用户是否可以帮助我?
当与backbone.js一起使用时,从rails应用程序编码错误消息的最佳方法是什么,例如那些曾被定义为flash消息的错误消息,例如“找不到记录”.
大多数情况下,错误可以在客户端中定义,但是,有时您希望传递您在服务器端代码中定义的错误,这意味着服务器的结果与通常接收到的记录列表的预期不同一个集合.
最佳答案
如果将rails控制器设置为:
respond_to:json
你将收到你的错误json(你需要使用respond_with(object))
class XYZController < ApplicationController
respond_to :html,:json
responders :jsons
def create
@xyz = Xyz.new( params[:xyz] )
@xyz.save
respond_with @xyz,:location=>@xyz.id.nil? ? "" : edit_xyz_url(@xyz)
end
end
我创建了我的json响应器以更好地处理主干:
module Responders
module JsonResponder
def to_json
raise error unless resourceful?
if get?
display resource
elsif has_errors?
display resource.errors,:status => :unprocessable_entity
elsif post?
display resource,:status => :created,:location => api_location
elsif put?
display resource,:status=>:ok,:location => api_location
elsif has_empty_resource_definition?
display empty_resource,:status => :ok
else
head :ok
end
end
end
end