Opciones “ocultas” de acts_as_taggable_on
Estos días he estado peleándome con el plugin/gema acts_as_taggable_on para el gestor de contenidos que estoy desarrollando.
Necesitaba sacar del plugin un comportamiento no descrito en la documentación, que encontraba por la web, obtener un listado con todas las aplicaciones que estuvieran tageadas con todos los tags indicados.
Si echamos un vistazo al código del plugin podemos ver en lib/acts_as_taggable_on.rb que existen unas opciones para el método find_tagged_with que no están descritas sino en los comentarios del propio código. Estas son:
- exclude, busca los objetos que no tienen los tags indicado
- match_all, busca los objetos que contienen todos los tags indicados
- conditions, añade código SQL a la consulta
Con la opción “match_all” tengo mi necesidad cubierta, la llamada sería:
MiModelo.tagged_with(“lista, de, tags”, :on => :grupodetags, :match_all => true)
Además, hay otro método con más opciones de las que no he encontrado referencias por la web, pero aún no las he examinado con profundidad.
