在 ruby 中,ActiveRecord 不提供更新和插入 sql 的动态绑定(bind),当然我可以使用原始 sql,但是需要保持连接,所以我想知道是否有更简单的方法在执行之前转义更新或插入 sql像下面的代码:
ActiveRecord::Base.connection.insert(sql)
我想我可以用 gsub 写代码,但我知道是否有现成的方法来做。
最佳答案
在 Rails >= 3.2.5 中,以下对我有用:
evil_input = '"\';%#{}\"foo'
ActiveRecord::Base.connection.quote(evil_input)
=> "'\"'';%\#{}\\\"foo'"
关于ruby - 如何在 Ruby 中插入或更新之前转义字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4525558/