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