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