2011-09-18 4 views
0

J'essaye de créer une application de point de vente dans les railsRails has_many: à travers

Maintenant j'ai un modèle d'articles. Le modèle d'éléments contient chacun des différents articles transportés par le magasin.

Maintenant, je veux créer un modèle Orders. L'idée est que ce modèle contiendrait les articles et leur quantité pour chaque commande. Je serais en mesure d'afficher l'historique des commandes pour générer des analyses, etc.

Quelle est la bonne façon de faire cela?

has_many: à travers? Ensembles Redis? D'autres idées?

Répondre

1

L'approche typique consiste à utiliser un modèle OrderLine. C'est là que vous stockez la quantité de chaque article commandé. Pouvez-vous expliquer cela plus en détail?

class Order 
    has_many :order_lines 
    has_many :items, :through => :order_lines 
end 

class OrderLine 
    belongs_to :order 
    belongs_to :item 
end 
+0

Pouvez-vous expliquer cela plus en détail? – Alex

+0

Merci. Ai-je besoin d'une migration et/ou de variables attr_accessibles sur la ligne de commande? – Alex

+0

Vous aurez besoin d'une migration pour créer le modèle OrderLine. Notez qu'il devrait dans un fichier séparé à la classe de commande, je les ai simplement combinés ci-dessus pour plus de commodité. En ce qui concerne attr_accessible, cela dépend de la façon dont vous écrivez le code du contrôleur. –

Questions connexes