Donc, après la recherche d'une gemme de marquage pour mon application rails, j'ai trouvé l'incroyable acts-as-taggable gem. En l'installant et en jouant, j'ai découvert qu'il garde toutes les balises dans un tag db qui ne contient que le tag.name sans le contexte, au contraire le contexte est maintenu dans la relation: through db (taggings). Pour la plupart des objectifs, je peux voir que c'est parfait. Sauf avec mon application, je veux être en mesure d'offrir à l'utilisateur la possibilité de marquer en fonction d'une balises préexistantes (par exemple, ne pas leur permettre de créer leur propre) et acts-as-taggable n'a pas la possibilité de rechercher toutes les balises dans un contexte construit dans (par exemple, si je devais présenter une auto-complétion de la balise db j'aurais inclus toutes les balises dans mon application qui n'est pas ce que je veux)Agit-comme-taggable-sur trouver tous les tags par contexte
La méthode ci-dessous est ce que je viens d'étoffer pour voir si cela fonctionnerait (ce qui est le cas) mais je me demandais s'il me manquait quelque chose avec acts-as-taggable. Je veux dire que je ne peux pas voir n'importe où qui offre cette méthode aimable?
<% ActsAsTaggableOn::Tagging.find_all_by_context("tags").each do |tagging| %>
<%= tagging.tag %>
<% end %>
Si, par exemple acts-as-taggable ne le fait pas, est-ce la meilleure façon de le faire? Il se sent un peu non performant, Serais-je mieux de faire une requête SQL personnalisée au lieu de routage à travers acts-as-taggable?
Si elle aide à tous Heres une queue de mon journal:
Started GET "/users" for 127.0.0.1 at 2011-01-04 14:46:20 +0000
Processing by UsersController#index as HTML
SQL (0.5ms) SELECT name
FROM sqlite_master
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
User Load (0.1ms) SELECT "users".* FROM "users"
ActsAsTaggableOn::Tagging Load (0.5ms) SELECT "taggings".* FROM "taggings" WHERE ("taggings"."context" = 'languages')
ActsAsTaggableOn::Tag Load (0.1ms) SELECT "tags".* FROM "tags" WHERE ("tags"."id" = 2) LIMIT 1
Rendered users/index.html.erb within layouts/application (10.4ms)
Cette solution doit encore être étiquetée les instances de modèle avant. Comment définir certaines étiquettes prédéfinies pour un contexte donné? – bibstha