我正在通过url requerts从jquery发送一个数组到rails控制器。
当我在我的控制器中执行此操作时
log_array = (params[:log_ids])
logger.debug "This is the array #{log_array.to_a}"
我在服务器日志中得到了这个
This is the array 85,84,83,82
我正在尝试此查询以获取所有选定的日志:
@logs = Log.where(['"logs"."id" IN (?)', log_array])
我在服务器日志上得到了这个
SELECT "logs".* FROM "logs" WHERE ("logs"."id" IN ('85,84,83,82'))
这可能是这样的
SELECT "logs".* FROM "logs" WHERE ("logs"."id" IN (85,84,83,82))
好像它把arry放进去了。
有没有办法让sql适合数组?
答案 0 :(得分:4)
你正在制作SQL-ish。试试这个:
Log.find_all(params[:log_ids])
答案 1 :(得分:3)
或Log.where(:id => params [:log_ids])如果你想使用where()goodness。
答案 2 :(得分:0)
将使用下面列出的.where ...查看rails 3.1弃用的链接。