Ruby on Rails Friday, December 31, 2010

(Apologies if this ends up being a duplicate. I've been battling
Google Groups and don't see the OP on the site so I'm going to try
once more.)

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?


Thanks,
Jim

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

No comments:

Post a Comment