У меня есть приложение Rails, работающее с PostgreSQL. Существует таблица под названием «Программы»:
Program(id: integer, name: string, properties: jsonb)
Допустим, у нас есть программа под названием "Футбольный клуб", свойства которой следующие:
{
"properties" =>
{
"What's your gender?" => "I'm male.",
"Is your health good?" => "Yes"
}
}
Мой запрос выглядит так:
# this field and value are OK with the query
field = Is your health good?
value = Yes
Program.where("properties ->> '#{field}') = '#{value}'")
# this field and value causes error with the query since they contain quote (')
field = What's your gender?
value = I'm male.
Program.where("properties ->> '#{field}') = '#{value}'")
Я знаю, что проблема вызвана тем, как я интерполирую строку. Тем не менее, я не мог найти решение.
Очень признателен за вашу помощь.