我希望有一个棒球队的模型,其中有很多球员和有关球队的统计数据。
我还想要一个具有相同统计数据的玩家的模型。
如何让Statics表同时属于Baseball Model和Player Model?
答案 0 :(得分:1)
您可以使用多态关联。您可以参考here
统计模型
class Statistic < ActiveRecord::Base
belongs_to :statisticable, polymorphic: true
end
棒球模型
class Baseball < ActiveRecord::Base
has_many :statistic, as: :statisticable
end
玩家模型
class Player < ActiveRecord::Base
has_many :statistic, as: :statisticable
end
您的统计模型的迁移文件
class CreateStatistic < ActiveRecord::Migration
def change
create_table :statistics do |t|
t.string :strength
t.string :defensive
t.string :attack
t.references :statisticable, polymorphic: true, index: true
t.timestamps null: false
end
end
end