Quiero crear un sistema de etiquetado como se ve aquí en Stack Overflow o en Quora. Será su propio modelo, y estoy planeando usar this autocomplete plugin para ayudar a los usuarios a encontrar las etiquetas. Tengo un par de preguntas:Cómo crear un sistema de etiquetado como en Stack Overflow o Quora
Quiero que las etiquetas sean generadas por el usuario. Si un usuario ingresa una nueva etiqueta tipeándola y presionando un botón "Agregar", esa etiqueta se agrega a la base de datos, pero si un usuario ingresa una etiqueta existente, entonces usa esa. Estoy pensando en usar un código como este:
def create @video.tags = find_or_create_by_name(@video.tags.name) end
¿Estoy en el camino correcto?
Me gustaría implementar algo así como en Stack Overflow o Quora de modo que cuando haga clic en una etiqueta de la lista sugerida o haga clic en el botón "Agregar", esa etiqueta se agregue justo encima del campo de texto con ajax. ¿Cómo voy a implementar algo así?
Sé que esto es una especie de pregunta abierta. Realmente no estoy buscando el código exacto tanto como un empujón general en la dirección correcta. Por supuesto, los ejemplos de código no dolería :)
Nota No estoy pidiendo ayuda sobre cómo configurar el complemento de autocompletado de jQuery ... Sé cómo hacerlo. Por el contrario, parece que tendré que modificar el código en el complemento para que, en lugar de agregar las etiquetas dentro del campo de texto, se agreguen sobre el campo de texto. Apreciaría cualquier dirección con esto.
Recomiendo incluir [stemming] (http://en.wikipedia.org/wiki/Stemming) para que "nadar" y "nadar", por ejemplo, se mapeen en la misma etiqueta. –
ahh sí, gran punto. Lo miraré. ¿Alguna buena fuente de código abierto para eso? también, ¿alguna otra sugerencia sobre cómo debería estructurarse el controlador? –
No he hecho ninguna raíz en Ruby, pero buscar en Google "ruby stemmer" ofrece algunas opciones. También puede consultar "acts_as_taggable" si desea ver cómo funciona una solución existente. –