Escapando apóstrofes utilizando Gsub

Estoy trabajando en Ruby y estoy tratando de escapar ' caracteres a \' para poder usarlos en SQL. Estoy tratando de usar gsub , pero no parece estar funcionando.

 "this doesn't work".gsub /'/, '\\'' #=> "this doesnt workt work" "this doesn't work".gsub /'/, '\\\'' #=> "this doesnt workt work" "this doesn't work".gsub /'/, '\\\\'' #=> "this doesn\\'t work" "this doesn't work".gsub /'/, '\\\\\'' #=> "this doesn\\'t work" 

No sé si gsub es el método correcto para usar, así que estoy dispuesto a probar casi cualquier cosa que obtenga los resultados que estoy buscando.

Alguien más tuvo este mismo problema, debido a un significado / interpretación especial en la expresión regular de Ruby.

\ ‘significa $’ que es todo después del partido. Escapa de la \ otra vez y funciona.

Ver esta respuesta

¿Esto funciona?

 "this doesn't work".gsub /'/, '\\\\\'' => "this doesn\\'t work" 

Debes escapar de la \ y la ‘. Cuando necesite el ‘en el resultado, ¿por qué no definir el resultado con ”

 puts "this doesn't work".gsub /'/, "\\\\'" #=> "this doesn\'t work" 

\ debe ser escapado de todos modos.