J'ajoute des étiquettes à plusieurs modèles (articles, articles, photos, etc.). Je connais les rails qui marquent les plugins mais je préfère ne pas les utiliser, car ils ne répondent pas vraiment à mes besoins spécifiques.Ajout d'étiquettes à des modèles polymorphes dans des rails
Je sais que la façon typique d'implémenter le support de marquage polymorphique est d'utiliser 2 tables Tags, Taggings et de configurer les has_many: through relations appropriées. Mais, comme j'y pense un peu plus - et voici ma question: Y at-il un besoin pour une table de Tags. Y at-il des inconvénients de l'utilisation juste une table et ont mes marquages relations comme celle-ci:
Post, Article, Photo
has_many :taggings
Taggings (attributes)
taggable_type
taggable_id
tag_name
alors je juste besoin de gérer l'insertion/suppression de me marquages. Fondamentalement, je voudrais simplement stocker l'attribut tag_name directement dans la table Taggings au lieu d'une table Tags.
Les avantages sont d'éliminer la gestion d'une table, pas de jointures pour obtenir les noms de balises (même si je vais faire beaucoup de SELECT DISTINCT).
Pourriez-vous me faire savoir votre avis sur ce design?
Merci.