rails模型生成中的外键

时间:2012-06-01 02:00:34

标签: ruby-on-rails ruby

有没有办法在rails中生成包含带有级联删除的外键的模型?我希望有一个模型“游戏”,根据两个用户玩,有两个用户连接到它。如何将这两个用户创建为外部用户对象,以便a)在加载游戏对象时加载; b)如果删除其中一个用户则自动删除?

2 个答案:

答案 0 :(得分:0)

这样的事情可能是:

用户模型:

class User < ActiveRecord::Base
  has_many :games, :dependent => :destroy
end

你的游戏模型:

class Game < ActiveRecord::Base
  belongs_to :user1, :class_name => "User", :foreign_key => "user1_id"
  belongs_to :user2, :class_name => "User", :foreign_key => "user2_id"
end

答案 1 :(得分:0)

如果要使用数据库外键,可以使用:

https://github.com/matthuhiggins/foreigner

使用就像:

add_foreign_key(:games, :users, :column => 'user1_id', :dependent => :delete)
add_foreign_key(:games, :users, :column => 'user2_id', :dependent => :delete)