I have two tables:
Table [packages]
id name user_name
1 PK1 Ray
Table [users]
id name full_name
2 Ray Ray Sun
My purpose is to find the full name when I find packages. So I modify
Model Package to:
class Package < ActiveRecord::Base
belongs_to :user,
:class_name => “User”,
:foreign_key => “user_name”
end
Then I run Package.find(1, :include => :user) in Rails console. From the
log, I can see the sql is:
Package Load Including Associations (0.000309) SELECT
packages
.id
AS t0_r0, packages
.name
AS t0_r1,
packages
.user_name
AS t0_r2, users
.id
AS t1_r0, users
.name
AS t1_r1, users
.full_name
AS t1_r2 FROM packages
LEFT OUTER JOIN
users
ON users
.id = packages
.user_name WHERE (packages
.id
= 1)
But I cannot find the parameters for belongs_to to set
associated_foreign_key like has_and_belongs_to_many. I don’t know how to
deal with it. Please help. Thanks.