Rails自定义foreign_key名称在两个表上

时间:2012-05-17 17:55:08

标签: ruby-on-rails foreign-keys associations

我有两个模型,例如User和Club及其属性:

User:
  id
  uid
  email
  etc.

Club:
  id
  player_id
  address
  supporter
  etc.

由于某种原因,加入属性为clubs.player_idusers.uidclubs.player_idusers.id。是否可以使用one-to-onehas_one将这两个模型与belongs_to关联相关联? THX

2 个答案:

答案 0 :(得分:21)

我打赌这会奏效:

class User < ActiveRecord::Base
  has_one :club, :foreign_key => :player_id, :primary_key => :uid
end

class Club < ActiveRecord::Base
  belongs_to :user, :foreign_key => :player_id, :primary_key => :uid
end

答案 1 :(得分:0)

俱乐部有很多用户和用户属于许多俱乐部吗?如果是这样,您可能需要查看has_and_belongs_to_many关系关联方法的http://guides.rubyonrails.org/association_basics.html页面。如果使用此关联方法,则需要创建单独的迁移表以将user_id与club_id相关联。