Rails 3在哪里查询

时间:2010-12-02 19:14:50

标签: sql ruby-on-rails

我正在通过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适合数组?

3 个答案:

答案 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弃用的链接。

http://m.onkey.org/active-record-query-interface

相关问题