Ruby on rails ActiveRecord查询:占位符不工作
我有一个包含以下列的日志模型:Ruby on rails ActiveRecord查询:占位符不工作,ruby-on-rails,activerecord,ruby-on-rails-4,orm,Ruby On Rails,Activerecord,Ruby On Rails 4,Orm,我有一个包含以下列的日志模型: "id" "username" "event" "parameters" "created_at" "updated_at" int string string hstore datetime datetime 当我跑的时候 Log.sum( "(parameters -> 'starsAwarded' )::float" ) 它工作良好,并给出了结果。但当我
"id" "username" "event" "parameters" "created_at" "updated_at"
int string string hstore datetime datetime
当我跑的时候
Log.sum( "(parameters -> 'starsAwarded' )::float" )
它工作良好,并给出了结果。但当我尝试以以下方式使用占位符时:
Log.sum( "(parameters -> ? )::float", "starsAwarded" )
它不会用值替换占位符。执行的查询是:
SELECT SUM((parameters -> ? )::float) AS sum_id FROM "logs"
这背后的原因是什么?我认为sum不支持占位符,因为哪里支持占位符,如何传递变量以避免暴露于漏洞?这些变量来自哪里?