【发布时间】:2011-06-01 04:43:55
【问题描述】:
出于性能原因,我需要在我的 Rails 模型中编写一个新方法来执行一些任意 SQL:
UPDATE table
SET col1 = ? AND col2 = ?
WHERE id = ?
我知道我可以将ActiveRecord::Base.connection.execute 或ActiveRecord::Base.connection.update 与SQL 字符串一起使用来获得我需要的结果,但是用实际参数值替换参数占位符(?)的正确过程是什么?是否有 Rails 方法可以将参数插入 SQL 语句,还是应该通过手动插值来完成?后者似乎不安全……
【问题讨论】:
-
也可以看看这个问题:stackoverflow.com/questions/4483049/…。
-
我赞同 Brian 的评论 - 上面的链接似乎是同一个基本问题。
标签: sql ruby-on-rails sql-injection