Pregunta

problema molesto. Estoy tratando de reemplazar todos los punto y comas en el campo de descripción de mi modelo con caracteres de nueva línea (\ n). La base de datos es SQLite. El campo es de tipo texto.

Si lo hago de forma manual en la consola de carriles (escribir manualmente la descripción de un solo registro usando \ n para los saltos de línea), la consola rieles escapa automáticamente el \ n, y el campo de descripción se llena de \\n.

Si lo hago mediante programación utilizando gsub, me sale el siguiente situación:

>> s = Sample.find(:first)

=> ... detalles de registro ...

>> s.description.gsub!(/;/,"\n")

=> ... éxito - todo se ve bien, las nuevas líneas en el valor devuelto están representados por \ n ...

>> s.save

=> true

>> reload!

Reloading

=> true

>> s = Sample.find(:first)

=> ... detalles de registro ...

>> s.description

=> ... el campo de descripción todavía tiene un punto y coma en el mismo lugar de caracteres de nueva línea ...

AHHHHHH !!!!!!!

¿Fue útil?

Solución

s.description devuelve una copia de la descripción de modo gsub! sólo modificará la copia y devolverá la copia modificada.

Prueba esto:

s.description = s.description.gsub(/;/,"\n")

Otros consejos

Si está editando ActiveRecord campos mucho, sólo se puede editar en su editor con los rieles plugin de console_update

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top