On Sep 2, 9:21 pm, powertoaster <powertoas...@gmail.com> wrote:
>
> If  value is contained in TRUE_VALUES then it returns true(TrueClass).
> But if value is anything else it returns nil(NilClass) instead of
> false(FalseClass)
>
> This does not seem consistent or expected to me since false <> nil.
>
> Since we have TRUE_VALUES and FALSE_VALUES, I think it should be
> something like this.
>
The code as it is ensures that if the column contains NULL then you
get nil out. 3 way true/false/unset logic can be a little odd but I'm
not sure whether it should just be completely supressed.
It might also be misleading in that foo.flag == false leads you to
believe that Foo.find_all_by_flag(false) would return that row, which
it wouldn't if the flag is NULL. If you don't like NULLs in boolean
columns, then make it a non null column (which i usually do)

Fred

-- 
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-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to