gpt4 book ai didi

ruby-on-rails-3 - has_many :through + polymorphic relationships

转载 作者:行者123 更新时间:2023-12-01 01:32:08 25 4
gpt4 key购买 nike

我使用 rails3 并尝试建立一些复杂的关联。

我有产品、版本和属性模型。

class Version < ActiveRecord::Base
belongs_to :product
has_many :specs
has_many :properties, :through => :specs
end

class Product < ActiveRecord::Base
has_many :versions
has_many :specs
has_many :properties, :through => :specs
end

class Property < ActiveRecord::Base
end

class Spec < ActiveRecord::Base
belongs_to :product
belongs_to :spec
belongs_to :version
end

它工作完美,但我想使用产品和版本作为多态关系,因此表规范将只有spec_id和some_other_id,而不是spec_id、product_id、version_id。

我不知道我应该把 :as 放在哪里,放在哪里 :polymorphic => true。你能帮助我吗?

最佳答案

怎么样:

class Version < ActiveRecord::Base
belongs_to :product
has_many :specs, :as => :speccable
has_many :properties, :through => :specs
end

class Product < ActiveRecord::Base
has_many :versions
has_many :specs, :as => :speccable
has_many :properties, :through => :specs
end

class Property < ActiveRecord::Base
end

class Spec < ActiveRecord::Base
belongs_to :speccable, :polymorphic => true
belongs_to :spec
end
#table: specs(id,spec_id,speccable_type,speccable_id)

关于ruby-on-rails-3 - has_many :through + polymorphic relationships,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4115797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com