2010-10-09 7 views
0

J'ai deux modèles et contrôleurs: Extraits et étiquettes.Avant l'action de sauvegarde ... champ d'entrée divisé

Il existe une relation belongs_to, avec des balises appartenant à des extraits. Cela fonctionne bien, j'ai un champ de texte qui crée une nouvelle balise associée à l'extrait lorsque l'utilisateur soumet un extrait.

Je veux être en mesure d'avoir un champ de texte qui, lorsqu'il est soumis à une fonction (dans le modèle) diviserait le texte sur les virgules (par exemple split(",")).

Cependant, j'ai un peu de mal avec ça. Mon processus était de définir une fonction sur le modèle Snippet qui divise l'entrée, puis boucle le tableau de la division, créant ainsi une nouvelle balise associée à l'extrait au moment de la sauvegarde.

Cela semble assez facile, mais avec la magie RoR, il est juste pas le cas pour moi :)

Quelqu'un peut-il faire la lumière/lien vers un document ou quelque chose - serait grand !! Utilisation de rails3 avec ruby ​​1.9.2 - normalement PHP dev mais donnant ce rubis un aller. La magie.

+0

L'envoi de votre code ici permettrait de générer quelques réponses. – Jas

Répondre

2

Il existe un Railscast qui explique how to use a virtual attribute dans votre modèle pour convertir les "tags_names" soumis en modèles associés.

Il montre également comment faire une association has_many :through (appelée "Taggings") afin que les balises puissent appartenir à de nombreux extraits. Dans votre configuration, une balise ne peut appartenir qu'à un seul fragment, de sorte que vous créez probablement plusieurs balises en double, alors qu'en réalité, il s'agit de la même balise, simplement associée à différents extraits.

Si vous préférez lire des vidéos, vous pouvez consulter le ASCIIcasts transcrit.

Questions connexes