Naming Boolean columns in Rails
Let's say I have a Dog
and I want to store if it is trained
in Rails. Conventionally, Ruby methods that return booleans have names that end with ?
. Should I call the database column trained?
, or should I call the database column trained
and have a method
class Dog
def trained?
trained
end
end
The latter option seems inefficient, particularly when I have lots of boolean fields.
Or is there some other alternative I'm missing?
Solution 1:
You should call it trained
. Define it in your schema with a type of :boolean
. You can refer to it as trained?
and everything will magically work.
So says http://www.ruby-forum.com/topic/60847