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.