Hi all, I am having trouble trying to use reflect_on_association
method with given the simplified model:
class Order < ActiveRecord::Base
belongs_to :contractor, :class_name => "BusinessUnit"
end
I expected the reflect_on_association method to return
associated_foreign_key "contractor_id" but it returns
"business_unit_id":
ruby-1.9.2-p0 >
Order.reflect_on_association(:contractor).association_foreign_key
=> "business_unit_id"
do I miss something?
11155
(-- --)
October 6, 2010, 7:17pm
2
Bojan Mihelac wrote:
Hi all, I am having trouble trying to use reflect_on_association
method with given the simplified model:
class Order < ActiveRecord::Base
belongs_to :contractor, :class_name => "BusinessUnit"
end
I expected the reflect_on_association method to return
associated_foreign_key "contractor_id" but it returns
"business_unit_id":
ruby-1.9.2-p0 >
Order.reflect_on_association(:contractor).association_foreign_key
=> "business_unit_id"
do I miss something?
What version of Rails are you using? At least in the 2.2.2 docs I'm
looking at right now, :association_foreign_key isn't a valid option for
belongs_to (it's only for habtm), so I'm not surprised that you're
getting strange results. Try foreign_key.
Best,
I found it, should use primary_key_name:
ruby-1.9.2-p0 >
Order.reflect_on_association(:contractor).primary_key_name
=> "contractor_id"
I thought at first that I would get it with foreign_key but it that
method doesnt exists in
ActiveRecord::Reflection::AssociationReflection