Rails - Форматирование значений, разделенных запятыми, для SQL - PullRequest
0 голосов
/ 09 марта 2011

Как взять следующую строку, разделенную запятыми:

111, 222, 333

и правильно отформатировать ее следующим образом:

выбрать все из таблицыгде id IN ('111', '222', '333')

Я использую подготовленный оператор с find_by_sql.Пожалуйста, помогите.

Ответы [ 2 ]

1 голос
/ 09 марта 2011

Вы можете отформатировать идентификаторы, используя карту:

'111,222,333'.split(',').map { |id| "'#{id}'" }.join(',')

Есть способ обернуть строку символами, но она ускользает от меня.Отсюда и уродливый блок карты.

0 голосов
/ 09 марта 2011
string = "111, 222, 333"
ids = string.gsub(/(\d)/, '\'\1\'')
query = "select all from table where id IN (#{ids})"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...