Я пытаюсь запросить мою базу данных с булевым типом, который передается мне через контроллер в виде строки. Что Rails пытается сделать, это следующее:ActiveRecord string booleans as query
SELECT "orders".* FROM "orders" WHERE "orders"."complete" = ? [["complete", "false"]]
Это дает пустой массив, который не должен иметь место. Попробовав вручную получать записи через консоль rails, я получаю те же результаты. Однако замена «false» для «f» решает проблему.
Это не является идеальным решением для использования «п» в качестве замены, потому что я использую emberjs и логический тип в моей модели внешнего интерфейса, который по умолчанию посылает вверх «истинный» или «ложный»
Почему обыкновение ActiveRecord принять полные логические строки как строку и как я могу заставить это сделать это?
, что Ваш запрос ActiveRecord? – shivam
@orders = Order.where (complete: false), где false приходит из хэша парасов – tomasbasham
вы можете попробовать этот '@orders = Order.where (" complete =? ", False)' – shivam