50 votes

Un simple respond_with dans rails qui évite le 204 de PUT

Je veux PUT aux rails et éviter d'obtenir un 204 . J'utilise ce modèle :

class SomeController < ApplicationController
  respond_to :json

  def update
    # ...
    respond_with(some_object)
  end
end

Cependant, lorsque je fais un put pour mettre à jour, j'obtiens un 204 retour. Je réalise que c'est tout à fait valable, etc., mais je veux explicitement récupérer le contenu. Je peux le contourner dans une certaine mesure comme ceci :

def update
  respond_with(some_object) do |format|
    format.json{render json: some_object}
  end
end

mais cela semble un peu trop pratique pour les rails. Existe-t-il un moyen plus idiomatique d'éviter un fichier 204 et demander le renvoi de l'intégralité du contenu ? Nous sommes dans Rails 3.2.

En résumé, je veux des rails idiomatiques au maximum qui évitent une 204 .

1voto

Tom Rossi Points 1525

Je ne suis pas un grand fan de ce comportement. Pour le contourner, j'ai dû éviter d'utiliser l'élément respond_with méthode :

class SomeController < ApplicationController
  respond_to :json

  def update
    # ...
    respond_to do |format|
      format.json { render(json: some_object, status: 200) }
    end
  end
end

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X