Tengo un modelo de proyecto y tiene algunos atributos de texto, uno es un resumen. Tengo algunos proyectos que tienen etiquetas html en el resumen y quiero convertir eso en texto sin formato. Tengo este método que tiene una expresión regular que eliminará todas las etiquetas html.Eliminar todas las etiquetas html de los atributos en los raíles
def strip_html_comments_on_data
self.attributes.each{|key,value| value.to_s.gsub!(/(<[^>]+>| |\r|\n)/,"")}
end
que también tienen un filtro before_save
before_save :strip_html_comments_on_data
El problema es que las etiquetas HTML están todavía allí después de guardar el proyecto. ¿Qué me estoy perdiendo?
Y, ¿hay una manera realmente fácil de tener ese método llamado en todos los modelos?
Gracias,
Nicolás Hock Isaza
No soy un usuario rubí, pero no parece haber ninguna asignación que ocurre allí. Estás calculando una cadena con esas cosas desmanteladas, pero no guardando eso en ninguna parte. – Yuliy
@Yuliy ruby tiene cadenas mutables! (gsub! es la forma mutable de gsub - ick!) !!! (para una buena medida) !!! (y +1 por hacerme ver más difícil) –