У меня есть таблица mysql, определенная со статусом (который является tinyint (1)). Однако, когда я пытаюсь проверить, является ли значение истинным или ложным, я, кажется, пришел к ошибочному результату. То есть, он не видит значение как законная истина или ценности, а тест, если он не «ноль» или так - значит, мой «кажется, не работает»Ruby TinyInt (1)?
results.each_hash do |row|
# What I tried
# (a)
if row['status']
# do something - doesn't seem to work
end
# (b)
if row['status'].to_i == 1
# this seems correct
end
# (c)
if row['status'] == false
# doesn't seem to work
end
end
Что такое ПРАВИЛЬНАЯ подход для проверки этого значения (tinyint (1)), поскольку он должен быть TrueClass или FalseClass в Ruby; однако (c) не работает сам.
Это ссылка, которую я использовал - Я предполагаю, что это должно распространяться на рельсах и в самом рубина (если ActiveRecord не выполняет работу) - http://www.orthogonalthought.com/blog/index.php/2007/06/mysql-and-ruby-on-rails-datatypes/
TinyINT get интерпретируется на большинстве языков C# и т. Д., Чтобы быть «логическим», извините, и Ruby (он должен видеть его как TRUECLASS или FALSECLASS) –