В моем приложении Rails мне нужно сохранить логические поля в модели. Теперь это вызывает проблему, поскольку Sqlite3 (который я использую для разработки) использует символьные константы 't'
и 'f'
для значений истинности. Однако MySQL, к которому мое приложение будет развернуто, использует литералы true
и false
(соответствующие tinyints 1 и 0 соответственно). Это делает использование условий SQL проблематичных, так как выражение типаЛогические поля в Rails
select * from articles where published = true
, выраженный в Rails, как
Article.where 'published = true'
потерпит неудачу в sqlite3 с сообщением no such column: true
.
Каков предпочтительный способ обработки булевых адаптеров в Rails?
Спасибо! Я не знал об этом объекте. Повторное назначение: этот фрагмент кода не Ruby, а SQL, который использует = для тестов равенства. – jforberg