Comment puis-je créer plusieurs relations en utilisant Scaffold?
Je suis nouveau sur Ruby on Rails, et je suis en train de créer une guitare basse tuteur afin de m'enseigner RoR (basse et guitare). Les procédures d'utilisation de l'Échafaudage pour créer les classes ActiveRecord, mais elles semblent correspondre aux autonomes les tables; il n'y a pas d'utilisation de belongs_to
ou has_many
.
J'aimerais créer trois classes: Échelle, GuitarString, et la Frette. Chaque Échelle a beaucoup de GuitarStrings, qui ont chacun nombre de Frettes.
Comment puis-je créer des classes avec cette relation à l'aide d'Échafaudage? Est-il un moyen de le faire en une seule fois, ou dois-je besoin de les créer dans un autre état à l'aide de l'Échafaudage, puis ajouter les relations à la main? Ou devrais-je fossé Échafaudage entièrement?
source d'informationauteur Simon | 2010-04-04
Vous devez vous connecter pour publier un commentaire.
J'ai commencé à apprendre Ruby on Rails il y a quelques semaines, et je l'ai trouvé beaucoup plus facile d'obtenir le coup de choses et d'apprendre mon chemin autour de par la non-utilisation de l'échafaudage, et de générer les différentes parties de la ligne de commande (ou macros dans un IDE).
Cependant, de ce que je peux dire, lorsque vous utilisez un échafaudage pour générer des choses, pensez-vous que la génération d'une "ressource", vous allez seulement à créer une ressource à la fois, puis ajouter dans les rapports à la main plus tard.
Cependant, la génération de modèle de commande peut créer ces relations pour vous. Disons que vous avez utilisé échafaudage pour créer une gamme de ressources.
Vous pourriez alors faire
L'échelle:les références à créer un
belongs_to :scale
sur votre GuitarString modèle, mais vous aurez besoin d'ajouter has_many :guitarstrings de votre modèle à l'échelle.L'générer le modèle de commande crée un script de migration pour vous et les autres fichiers nécessaires (accessoires), semblable à un échafaudage, mais n'a pas autocreate points de vue ou des contrôleurs ou quoi que ce soit.
EDIT:
C'est généralement la façon dont vous allez vouloir faire les choses à utiliser pour générer de modèle, ou de générer/vue ou de générer/ou contrôleur de générer et de migration. La plupart des développeurs web ne pas utiliser d'échafaudage, depuis son "one size fits all" correspond rarement les choses à la perfection. Cependant, la plupart des développeurs web utilisent l'générer des commandes que j'ai mentionné - il permet de gagner du temps avec la création d'assistants et de luminaires à la main, et il donne à chaque fichier, il génère un modèle de base que vous pouvez ajouter à.
Plusieurs Ruby IDE est comme JetBrain de RubyMine ont macros qui, pour l'essentiel d'exécuter ces commandes. Dans RubyMine vous pouvez faire ctrl+alt+g, puis entrer une autre clé correspondant à ce que vous souhaitez générer.
La belongs_to relation peut être généré à l'aide de la "références" de la parole, comme je l'ai mentionné. D'autres, vous pourrez les ajouter à la main.