2010-09-14 4 views
0

Je m'attends à trouver un bug dans les rails v2.3.8, mais je demande ici si je fais quelque chose de stupide.Rails Modèle imbriqué Attribut 'accepts_nested_attributes_for' bug possible lors de la création

J'ai un modèle imbriqué à trois profondeurs qui décrit un envoi (c.-à-d. Expédition -> boîtes -> articles de ligne dans les boîtes). L'envoi et les boîtes sont créés en même temps, mais les articles existent déjà, à partir du moment où la commande a été passée. Les articles doivent simplement être associés à la boîte dans laquelle ils se trouvent.

La méthode create pour shipment me donner cette erreur:

ActiveRecord::RecordNotFound (Couldn't find VendorOrderLine with ID=3 for VendorShippingBox with ID=) 

Et montre SQL il a essayé d'exécuter:

SELECT * FROM "vendor_order_lines" WHERE ("vendor_order_lines"."id" IN ('3','4')) AND ("vendor_order_lines".vendor_shipping_box_id = NULL) 

Notez que vendor_shipping_box_id n'est pas entre guillemets.

Si je lance cette requête dans la console avec:

VendorOrderLine.find(:all, :conditions=>["vendor_order_lines.id IN ('3', '4') AND vendor_order_lines.vendor_shipping_box_id IS NULL"]) 

-je obtenir le résultat attendu. Curieusement, la méthode update fonctionne très bien

je peux poster plus de détails si nécessaire, mais les rails le SQL généré devrait avoir vendor_shipping_box_id dans les citations, et c'est ce qui cause l'erreur ActiveRecord, correct? Ou est-ce que je manque quelque chose?

(note, mes modèles/contrôleurs/vues sont tous les réglages par RailsCasts ep Ryan Bates: 196 & 197)


MISE À JOUR: Je mis à jour à Rails 3.0, et la méthode de création fonctionne comme prévu. Donc c'est définitivement un bug. Est-il correct de signaler un bug pour les versions précédentes du logiciel? Où puis-je trouver de la documentation sur les bugs sur les rails/les rapports de bogues?

Répondre

0

J'ai déjà rencontré le même problème mais je n'ai pas encore trouvé de solution/de travail, nous ne pouvons malheureusement pas mettre à niveau les rails 3 ou les versions plus récentes des rails 2.3.

Questions connexes