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?