Vì lý do hiệu suất, tôi cần phải viết một phương pháp mới trong mô hình Rails của tôi mà thực hiện một số SQL tùy ý:Làm thế nào để thực hiện SQL tham số tùy ý trong đường ray
UPDATE table
SET col1 = ? AND col2 = ?
WHERE id = ?
Tôi hiểu rằng tôi có thể sử dụng ActiveRecord::Base.connection.execute
hoặc ActiveRecord::Base.connection.update
với một chuỗi của SQL để có được kết quả mà tôi cần, nhưng thủ tục thích hợp để thay thế trình giữ chỗ tham số (?
) bằng các giá trị tham số thực tế là gì? Có một phương pháp Rails cho các tham số nội suy vào một câu lệnh SQL, hay nó chỉ nên được thực hiện bằng nội suy thủ công? Sau đó dường như không an toàn ...
Kiểm tra câu hỏi này cũng: http://stackoverflow.com/questions/4483049/how-to-execute-a-raw-update-sql-with-dynamic-binding-in-rails/4484549#4484549. –
Tôi nhận xét thứ hai của Brian - liên kết ở trên dường như là cùng một câu hỏi cơ bản. –