Rails 3, где запрос - PullRequest
       4

Rails 3, где запрос

1 голос
/ 02 декабря 2010

Я отправляю массив из jquery через URL-запросы на контроллер 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))

Кажется, что он помещает массив в виде строки.

Есть ли способ сделать sql правильным для массива?

Ответы [ 3 ]

4 голосов
/ 02 декабря 2010

Ты тоже делаешь SQL-иш.Попробуйте это:

Log.find_all(params[:log_ids])
3 голосов
/ 03 декабря 2010

Или Log.where (: id => params [: log_ids]), если вы хотите использовать where () goodness.

0 голосов
/ 04 декабря 2010

Будет использовать. Где перечислено ниже ... проверить ссылку на рельсы 3.1 амортизации.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...