Rails - 自连接
Rails - Self joins
我对 rails 中的自引用关联有点困惑。也许有人可以帮助我!
我有一个资源模型,我想给它添加配件。配件也应该是一种资源。
所以我在 ressource.rb 中得到了这个:
has_many :accessories, class_name: "Ressource", foreign_key: "accessory_ids"
问题是它不像我期望的那样工作。当我调用 first_ressource.accessories 时,我得到了一个非常好的 ID 列表。但是,当我将相同的配件添加到另一个资源时(比如 second_ressource),first_ressource 的配件就不见了。
我希望能够在多个资源中存储 ID=1 的资源:
first_ressource.accessories = [1,3,5]
second_ressource.accessories = [1,4,6]
谢谢你的帮助!
您需要多对多关系。在这种情况下,你需要一个中间model/table来连接多个配件到多个资源。
您可以在此处查看详细信息:
https://guides.rubyonrails.org/association_basics.html#the-has-many-through-association
我对 rails 中的自引用关联有点困惑。也许有人可以帮助我! 我有一个资源模型,我想给它添加配件。配件也应该是一种资源。
所以我在 ressource.rb 中得到了这个:
has_many :accessories, class_name: "Ressource", foreign_key: "accessory_ids"
问题是它不像我期望的那样工作。当我调用 first_ressource.accessories 时,我得到了一个非常好的 ID 列表。但是,当我将相同的配件添加到另一个资源时(比如 second_ressource),first_ressource 的配件就不见了。
我希望能够在多个资源中存储 ID=1 的资源:
first_ressource.accessories = [1,3,5]
second_ressource.accessories = [1,4,6]
谢谢你的帮助!
您需要多对多关系。在这种情况下,你需要一个中间model/table来连接多个配件到多个资源。
您可以在此处查看详细信息:
https://guides.rubyonrails.org/association_basics.html#the-has-many-through-association