(Apologies if this ends up being a duplicate. I’ve been battling
Google G. and don’t see the OP on the site so I’m going to try
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
logger.debug(@articles.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?