Как запросить поля и значения jsonb, содержащие одинарные кавычки в Rails? - PullRequest
0 голосов
/ 11 января 2019

У меня есть приложение 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}'")

Я знаю, что проблема вызвана тем, как я интерполирую строку. Тем не менее, я не мог найти решение. Очень признателен за вашу помощь.

...