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)