My Article model has one boolean field called “draft”. I’m using
sqlite3
and rails 3.0.3. The boolean column (which was created with :boolean)
is
storing ‘true’ and ‘false’ as ‘t’ and ‘f’ in the database, and the
queries
appear to be working fine for both cases. The problem is that when I
look
at the draft attribute on the query result objects, it is always “true”:
@articles = Article.where(:draft => false) # returns the correct
rows
logger.debug(@articles[0].draft) # will show ‘true’
I know that Ruby treats ‘f’ as true, but I’m assuming rails will convert
it
to false as part of the mapping. Why isn’t it working?
My Article model has one boolean field called “draft”. I’m using
sqlite3 and rails 3.0.3. The boolean column (which was created
with :boolean) is storing ‘true’ and ‘false’ as ‘t’ and ‘f’ in the
database, and the queries appear to be working fine for both cases.
The problem is that when I look at the draft attribute on the query
result objects, it is always “true”:
@articles = Article.where(:draft => false) # returns the correct
rows
logger.debug(@articles[0].draft) # will show ‘true’
maybe try logger.debug( @articles[0].draft? ) since that’s more
explicitly asking “is this true-ish?”