Si può facilmente utilizzare l'mysql2 gemma per fare questo:
irb(main):002:0> require 'rubygems'
=> true
irb(main):003:0> require 'mysql2'
=> true
irb(main):004:0> Mysql2::Client.escape("O'Malley") # => "O\\'Malley"
=> "O\\'Malley"
Oppure, se si utilizza il mysql in precedenza (non mysql2) gemma:
012.
irb(main):002:0> require 'rubygems'
=> true
irb(main):003:0> require 'mysql'
=> true
irb(main):004:0> Mysql.escape_string("O'Malley")
=> "O\\'Malley"
Ciò consentirà di evadere tutto ciò che si desidera quindi inserire nel db. Puoi anche farlo sulla maggior parte dei modelli nella tua applicazione di rotaie usando il metodo sanitize. Ad esempio, diciamo che hai un modello chiamato Persona. Potresti farlo
Person.sanitize("O'Malley")
Questo dovrebbe fare il trucco.
Amo il nome del tuo modello. "Amico", sei fantastico. –
@NateSymer: Sì, beh, è solo una tua opinione, amico. – Fuser97381
Nel caso in cui qualcun altro si stia chiedendo, sì, sono esattamente gli stessi: [sanitize chiama connection.quote] (http://apidock.com/rails/ActiveRecord/Base/sanitize/class) – mltsy