7
votes

ROR Retour JSON avec une erreur 406 non acceptable

Lorsque nous renvoyons la sortie JSON en utilisant Render: JSON => @ Profils , le La sortie renvoie les résultats requis avec une erreur 406. Comment puis Évitez cette erreur «406 pas acceptable»?


2 commentaires

Pouvez-vous fournir le code du contrôleur que vous utilisez?


Une image vaut 1000 mots, mais certains code obtiendront votre question!


3 Réponses :



0
votes

Ceci est arrivé à moi quand j'avais avant_action: authentifier_user! sur l'action du contrôleur, mais appelait ceci à une page non authentifiée.

La page elle-même tentative de délivrer une redirection.

authentification de l'utilisateur ou supprimer le avant_action résolu pour moi.


0 commentaires

1
votes

Juste pour développer la réponse de Doug et pour quiconque pourrait encore trébucher sur ce problème,

Ce problème peut également se produire plus précisément lorsqu'une méthode de contrôleur utilisée pour les demandes Post HTTP représente un JSON au lieu de rediriger. Si cette méthode a une inaction antérieure et qu'avant une action tente de "rediriger_to" au lieu de rendant un JSON, car il était initialement destiné à le faire, l'erreur apparaît. P>

Pour résoudre ce problème, assurez-vous que votre Cette méthode rend également une réponse au lieu d'essayer de le rediriger. p>

Exemple: P>

before_action :require_configuration_training

def locations_post
  response = 'hey'
  render json: response, status: 200
end


def require_configuration_training
 response = 'hi'
 # Correct below:
 render json: response, status: 200

 # Wrong and will raise error below:
 # redirect_to another_path
end


0 commentaires