When you use a belongs_to or has_many macro you might be surprised that the methods that it generates does not override a method with the same name. Take this example:
class Project < ActiveRecord::Base
def user
"foo"
end
belongs_to :user
end
Project.new.user still returns "foo".
The reason for this is that what belongs_to does is actually this:
class Project < ActiveRecord::Base
include FeatureMethods
def user
"foo"
end
end
module Project::FeatureMethods
def user
# association getter goes here
end
end
I'm sorry.
Posted by Henning Koch to makandra dev (2014-03-12 12:21)