Ruby

Você está em: Home » Desenvolvimento » Ruby » Dica rápida #3 - Sanitizando queries com ActiveRecord

« Voltar

Dica rápida #3 - Sanitizando queries com ActiveRecord

28 de January de 2009 - 07:59


No artigo Executando SQL no Rails mostrei como trabalhar com SQL no ActiveRecord. Para sanitizar parâmetros da query, utilizei o método quote. O grande problema de utilizar este método é que se você tiver uma quantidade muito grande de parâmetros vai ser, como diz o Lucas Húngaro, um trabalho de presidiário!

O ActiveRecord possui um método protegido chamado sanitize_sql_array, que permite trabalhar com todas as interpolações de valores. Para utilizá-lo mais facilmente, basta fazer um monkey patch na classe ActiveRecord::Base.

class ActiveRecord::Base def self.sanitize_query(query, options) sanitize_sql_array([query, options]) end
end

Agora, você pode utilizar queries desta maneira:

options = {:title => "Simples Idéias"}
sql = User.sanitize_query("select * from blogs where title = :title", options)
User.connection.execute(sql)
Fonte: Simples Ideias

O que você achou deste conteúdo?

  • Bom
  • Ruim
 

  • del.icio.us
  • Digg
  • reddit
  • StumbleUpon
  • Technorati
 

Comentários (0)

Comente

 

Trocar imagem

 

Importante: Os comentários publicados através deste website são de exclusiva e integral responsabilidade de seus autores.

publicidade

Fonte

Simples Ideias

Simples Ideias

Por Nando Vieira

publicidade

IMD Auditoria