2012-09-20 4 views
0

J'essaie de créer une association pour une application de vente de viande bêta entre un modèle, Cuts, et l'attribut "animal_type" d'un autre modèle, Animal, de sorte que je puisse lister toutes les coupes associées à un animal_type particulier (ou associées à un animal ayant ce type en tant qu'attribut). En d'autres termes, si animal_type est "vache", je devrais pouvoir appeler une liste de toutes les coupes (ribeye, filet, etc.) associées aux vaches. Je suis nouveau à Rails, et c'est assez au-dessus de ma tête.Association entre un modèle et un attribut d'un autre

Mon idée était de créer une colonne de animal_type en coupes et les animaux, à associer chaque coupe avec un type d'animal, de sorte que je pouvais faire quelque chose le long des lignes de

@cuts = Cut.where(:animal_type => Animal::animal_type[:Cow]) 

Aucune idée si cela fonctionne, bien que , et quoi d'autre je dois faire pour rendre cette association possible. Quelqu'un peut-il m'aider à me diriger vers une façon de penser cela? Ou est-ce que quelqu'un a de bonnes ressources que je pourrais regarder pour m'aider avec ce problème spécifique? J'ai regardé à travers les guides Rails, et ils sont utiles, mais ils ne me donnent pas vraiment un moyen d'y répondre.

Répondre

0

Vous pouvez avoir un modèle Cuts et un modèle Animal. Les coupes pourraient avoir un attribut de chaîne appelé "nom" qui stockerait le type de coupe tel que le faux-filet, le filet mignon, etc. Animal pourrait avoir un attribut de chaîne appelé type_animal. Vous pouvez ensuite configurer une association has_many entre Animals et Cuts. Quelque chose comme ceci:

class Animal < ActiveRecord::Base 
    attr_accessible :animal_type 
    has_many :cuts 
end 

class Cuts < ActiveRecord::Base 
    attr_accessible :name 
    belongs_to :animals 
end 

Cela devrait être un bon point de départ

Questions connexes