0

有没有办法在 Rails 中生成包含外键和级联删除的模型?我想要一个模型“游戏”,根据两个用户玩,它有两个用户。如何将这两个用户创建为外部用户对象,以便它们 a) 在我加载游戏对象时加载,b) 如果其中一个用户被删除,它们将自动被删除?

4

2 回答 2

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
于 2012-06-01T04:25:11.257 回答
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)
于 2012-06-01T11:17:07.177 回答