我做我的轨道模型的一些简单的sql语句(用于纯粹主义者这仅仅是复杂的sql语句:)导轨 - 逃避SQL PARAMS
因为我没有使用find * /病症的方法,是有一个辅助方法我可以直接用它来做到这一点?
我做我的轨道模型的一些简单的sql语句(用于纯粹主义者这仅仅是复杂的sql语句:)导轨 - 逃避SQL PARAMS
因为我没有使用find * /病症的方法,是有一个辅助方法我可以直接用它来做到这一点?
连接对象上的quote
方法转义字符串。在构建查询时,使用sanitize_sql_for_conditions
将ActiveRecord条件散列或数组转换为SQL WHERE子句。
ActiveRecord::ConnectionAdapters::DatabaseStatements
中的方法适用于直接查询,特别是以select_
开头的方法。
Rails在内部使用sanitize_sql_for_conditions
来处理占位符。当然,这种方法是受保护的,所以你不能(干净地)在ActiveRecord模型之外使用它。你可以绕过保护使用send
:
escaped_string = Model.send(:sanitize_sql_for_conditions, [
'id = ? and name = ?',
params[:id], params[:name]
]
)
是在我的模型中我正在做connection.select_all(sql)。但我无法找到rdoc中的连接对象的“引用”方法,以避免我的输入参数在哪里条件。 – kapso 2010-07-21 22:39:18
好的,我明白了,谢谢! – kapso 2010-07-21 23:54:16
'sanitize_sql_for_conditions'似乎被移动到一个模块并设置为私有。 – lulalala 2012-04-17 08:53:51