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?
avez-vous déjà appelé 'tarte.save' dans votre fichier de démarrage ou les étapes de la console? – sicks
Non, ça l'a fait! – Claire