2015-12-14 2 views
0

J'utilise le plugin acts_as_taggable_on (3.4) pour le balisage avec Rails (4.2.4). J'ai essayé d'ajouter des balises personnalisées à la fois via mon fichier de démarrage et la console et, bien qu'il semble ajouter les attributs, je ne peux pas y accéder.ActsAsTaggableOn: balises non persistantes dans la base de données

Mon modèle:

class Recipe < ActiveRecord::Base 
    acts_as_taggable_on :tags 
    acts_as_taggable_on :dietaries, :meals, :cuisines, :sources 
end 

fichier de démarrage:

tarte = Recipe.create(title: "Caramelized Tomato Tarte Tatin", url: "www.chocolateandzucchini.com", notes: "Lorem ipsum", favorite: false) 

tarte.dietary_list.add("vegetarian," "vegan") 
tarte.meal_list.add("appetizers", "mains", "dinner") 
tarte.cuisine_list.add("French") 
tarte.source_list.add("Chocolate and Zucchini") 

étapes de console (après la semence en cours d'exécution pour créer la recette dans le fichier de semence ci-dessus):

tarte = Recipe.first 
tarte.dietary_list.add("vegetarian," "vegan") 
tarte.meal_list.add("appetizers", "mains", "dinner") 
tarte.cuisine_list.add("French") 
tarte.source_list.add("Chocolate and Zucchini") 

Lorsque I appeler Recipe.first.dietary_list, il lance une requête

Recipe Load (0.6ms) SELECT "recipes".* FROM "recipes" ORDER BY "recipes"."id" ASC LIMIT 1 
ActsAsTaggableOn::Tag Load (0.7ms)SELECT "tags".* FROM "tags" INNER JOIN "taggings" ON "tags"."id" = "taggings"."tag_id" WHERE "taggings"."taggable_id" = $1 AND "taggings"."taggable_type" = $2 AND (taggings.context = 'dietaries' AND taggings.tagger_id IS NULL) [["taggable_id", 1], ["taggable_type", "Recipe"]] 

Mais il retourne un tableau vide:

=> [] 

Si je l'appelle Recipe.first.dietaries, il retourne un proxy Collection vide:

Recipe Load (0.6ms) SELECT "recipes".* FROM "recipes" ORDER BY "recipes"."id" ASC LIMIT 1 
ActsAsTaggableOn::Tag Load (0.5ms) SELECT "tags".* FROM "tags" INNER JOIN "taggings" ON "tags"."id" = "taggings"."tag_id" WHERE "taggings"."taggable_id" = $1 AND "taggings"."taggable_type" = $2 AND "taggings"."context" = $3 [["taggable_id", 1], ["taggable_type", "Recipe"], ["context", "dietaries"]] 
=> #<ActiveRecord::Associations::CollectionProxy []> 

Y at-il quelque chose sur l'utilisation de cet outil J'ai manqué? Sinon, y a-t-il de meilleurs outils de marquage?

+0

avez-vous déjà appelé 'tarte.save' dans votre fichier de démarrage ou les étapes de la console? – sicks

+0

Non, ça l'a fait! – Claire

Répondre

0

Résolu en appelant .save après avoir entré toutes les balises