Как избежать кавычек в переменной карты

Я пытаюсь создать запрос с переменными из функции карты, но содержимое, хранящееся в одном из этих полей, содержит ' (цитаты, как у Барни). Так что каждый раз, когда он трескается с ' нарушит утверждение. Как я могу обойти это? Я пытался использовать .split функция, но не успех. Не беспокойтесь об SQL-инъекции, так как я просто загружаю данные из API в свою базу данных.

Код:

query_values = activities.map do |activity|
  '(' +
  "#{activity['id']},
  ""'#{activity['type']}""'" #using ""' just to fill the column when empty cells are raised
  +')'

end
query = "INSERT INTO pd_activities  VALUES #{query_values.join(', ')}"

Заранее спасибо.

1 ответ

Решение

Как это сделать правильно указано на шпаргалке:

db[:pd_activities].insert(
  id: activity['id'],
  type: activity['type']
)

Это позаботится обо всех проблемах для вас. Я упал activity Имеет эти два ключа, которые вы могли бы сделать это:

db[:pd_activities].insert(activity)
Другие вопросы по тегам