Does has_many: add a has_<associated_class>? method


#1

Hi,

I have a Country class which has_many: regions. At the same time, the
corresponding countries table has a boolean column named has_regions.
It happens that when I try to access that attribute using
country_instance.has_regions? , I can see in the logs that Rails is
querying the database with a SELECT that’s counting the regions in that
country. Obviously, that’s not what I want, as I already have the
required info in the has_regions column, so there’s no need to make a
database query.

Is this “synthetic” method documented in the Rails docs? I can’t find
it in the has_many documentation…
http://api.rubyonrails.org/classes/ActiveRecord/Associations/
ClassMethods.html#M000530

How can I avoid that query? Is there any way apart from changing the
name of the has_regions column?

Thanks in advance,

xavi