Comment puis-je créer une forme qui introduit plusieurs éléments d'un modèle?
-
18-09-2019 - |
Question
Je suis un simple point d'application de vente écrit en Ruby et Rails, et hobo.
A l'origine destiné à être pour un seul produit à l'époque, maintenant que le client veut ajouter plusieurs produits sur le modèle de vente
En plus de cela je suis en utilisant les marques pour classer les produits et dans ma nouvelle forme de vente j'utiliser Ajax afin d'alimenter une méthode de produits déterminés après avoir sélectionné la marque dans un autre menu de sélection.
Ce que je veux est d'utiliser mon système actuel et il suffit de changer ma nouvelle forme de vente si possible d'ajouter plusieurs produits à la vente
La solution 3
je devais créer un modèle de panier en tant que conteneur pour les produits, puis passez à utiliser mon vente avec le panier, et à partir de là plus .. validations et tout ça doit être reprogrammé
Autres conseils
Je suppose que vous avez une relation de has_one
entre la vente et un produit.
L'idée serait de modifier cette relation à un has_and_belongs_to_many.
Ainsi, dans la base de données, vous pourriez avoir de nombreux produits pour une vente et beaucoup de ventes pour un produit.
Et pour la mise en œuvre, vous pouvez utiliser attributs imbriqués pour afficher les produits pour une vente et d'ajouter ou de supprimer une partie.
Ce que vous êtes probablement à la recherche est de changer les valeurs qui sont postés de la forme d'un produit à un grand nombre. Avant de peut-être posté un article comme celui-ci:
product_id = 123 product_qty = 1
et maintenant vous voulez poster quelque chose comme ça
product_id [0] = 123 product_qty [0] = 1 product_id [1] = 456 product_qty [1] = 7
ou mieux encore
produit [123] .qty = 1 produit [456] .qty = 7
Dans votre formulaire, vous aurez besoin pour créer ces variables de produits et de les rendre différents. Puis de les publier sur le même formulaire que vous utilisez, mais regardez les bûches tout en surveillant la façon dont les rails est de les faire correspondre dans l'objet params. Puis nous dans ta commande que la cartographie de retirer les multiples objets.
Je l'ai appris une tonne de l'écran de Railscast jette. Ils ne prennent pas de temps, et en regardant quelqu'un à résoudre les problèmes de <10 minutes est tellement amusant. Essayez celui-ci http://railscasts.com/episodes/73-complex-forms -part-1