0 votes

Dépannage : Rails ne peut pas enregistrer dans la base de données en production ?

J'aurais besoin d'un peu d'aide pour résoudre ce problème.

Lorsque vous utilisez l'application pour créer un nouvel enregistrement, rien n'est enregistré dans la base de données. Aucune erreur visible n'est présentée.

En passant à la ligne de commande, et en utilisant la console avec le même environnement de production, je peux créer un nouvel objet et le sauvegarder (je dois contourner les validations). Si je regarde dans la base de données mysql, je peux voir l'enregistrement que j'ai créé depuis la console.

L'application fonctionne bien localement.

Avez-vous une idée de ce qui pourrait être le problème ?

Rails 2.0.2

1voto

Jonathan Points 5482

On dirait une erreur de validation.

Dans votre contrôleur, essayez d'utiliser save ! (avec le bang) pour voir si cela déclenche une erreur significative.

Je ne suis pas sûr du code que vous avez dans le contrôleur, mais ceci pourrait aider à montrer le problème.

if my_object.save
  log.debug 'object saved correctly'
else
  log.debug my_object.errors.full_messages
end

Bonne chance, si cela ne vous aide pas. Essayez de poster le code du contrôleur et du modèle concernés.

1voto

btelles Points 2868

Avez-vous vérifié que la requête (avec les paramètres, etc.) fonctionne correctement en développement ?

Si ce n'est pas le cas, peut-être qu'en consultant le fichier journal de production, vous pourrez savoir où la demande a été acheminée (par exemple, quel contrôleur et quelle action, et avec quels paramètres).

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