Como executar SQL parametrizado arbitrário em trilhos
Por razões de desempenho, preciso escrever um novo método no meu modelo Rails que execute algum SQL arbitrário:
UPDATE table
SET col1 = ? AND col2 = ?
WHERE id = ?
Eu entendo que posso usarActiveRecord::Base.connection.execute
ouActiveRecord::Base.connection.update
com uma sequência de SQL para obter os resultados necessários, mas qual é o procedimento adequado para substituir os espaços reservados de parâmetros (?
) com os valores reais dos parâmetros? Existe um método Rails para interpolar parâmetros em uma instrução SQL ou deve ser feito apenas por interpolação manual? Este último parece inseguro ...