He estado buscando por un tiempo y todavía no he podido encontrar una respuesta satisfactoria. Tengo dos aplicaciones. FrontApp y BackApp. FrontApp tiene un recurso activo que imita un modelo en BackApp. Todas las validaciones de nivel de modelo viven en BackApp y necesito manejar esas validaciones de BackApp en FrontApp.Manejo de errores de ActiveResource
He siguiente código-recurso activo:
class RemoteUser < ActiveResource::Base
self.site = SITE
self.format = :json
self.element_name = "user"
end
Esto imita un modelo que es el siguiente
class User < ActiveRecord::Base
attr_accessor :username, :password
validates_presence_of :username
validates_presence_of :password
end
Cada vez que se crea un nuevo RemoteUser en aplicación frontal; Llamo .save en eso. por ejemplo:
user = RemoteSession.new(:username => "user", :password => "")
user.save
Sin embargo, ya que la contraseña está en blanco, tengo que pasar de nuevo los errores a FrontApp de BackApp. Esto no está ocurriendo. Simplemente no entiendo cómo hacerlo con éxito. Este debe ser un escenario de integración común; pero parece que no hay una buena documentación para eso?
Mi controlador reparador que actúa como un proxy es el siguiente:
class UsersController < ActionController::Base
def create
respond_to do |format|
format.json do
user = User.new(:username => params[:username], :password => params[:password])
if user.save
render :json => user
else
render :json => user.errors, :status => :unprocessable_entity
end
end
end
end
end
¿Qué es lo que me falta? Cualquier ayuda será muy apreciada.
Saludos
'format.json {render: json => {: errors => @ customer.errors},: status =>: unprocessable_entity}' ----> Esto funcionará ... También tuve el mismo problema porque Estaba usando el código como @ customer.errors.full_messages, no está asignando y devolviendo la aplicación del recurso activo –