J'ai demandé quelque chose de semblable à cela avant et jamais eu de réponse, voici une version raccourcieActiveResource tête de réponse d'erreur ne retourne pas le corps
J'ai un modèle ActiveResource utilisateur. Je fais un simple appel sur mon client au service
response = User.find(id).put(:activate, :activation_code => activation_code)
En cas d'erreur sur le service (ie. Activation_code ne correspondait pas à) Je reviens
render :xml => @user.errors, :status => :unprocessable_entity
donc apparemment une réponse d'erreur avec ActiveResource doivent être traitées par un resue
rescue ActiveResource::ResourceInvalid
C'est bien beau, sauf que la réponse à l'appel initial ne soit pas défini. Je n'ai aucun corps provenant de cette réponse, donc @ user.errors n'est jamais retourné. De quoi ai-je besoin pour récupérer l'objet approprié? En plus de renvoyer 200. Tout code de réponse «succès» remplit la variable de réponse fine. Mais toujours revenir 200 semble être une erreur.