Ваша проблема в том, что вы не используете оператор в запросе. Пример: stripe_customer_id = ?
или stripe_customer_id IN (?)
. Но есть лучший способ написать это.
@user = User.find_by({
stripe_customer_id: source['customer'].delete("'")
})
find_by
принимает аргументы, аналогичные where
, но возвращает первую запись. Кроме того, синтаксис Hash автоматически выбирает между =
, IN
или IS NULL
в зависимости от предоставленного значения.
Кроме того, вы можете использовать метод delete
, чтобы удалить все вхождения строки в строке. Тесты показывают, что это быстрее, чем gsub. Для меня странно, что вам нужно изменить строку, как это, хотя. Я чувствую, что все, что отправляет source
делает неправильно, если есть дополнительные кавычки.