簡體   English   中英

我如何在兩個都需要擁有許多其他對象的對象之間建立關系?

[英]How do I establish a relationship between two objects where both need to have many of the other object?

我的情況是這樣的:我有兩個模型, Model (和汽車模型一樣)和Engine 我有一些Models其中有一個以上的Engine (不同型號年帶着不同的引擎),和我有一些Engines屬於多個不同的Models (單引擎跨多個模型重復使用)。

原諒我是Rails和ActiveRecord的新手,但這似乎比has_manybelongs_to復雜。 我可能是錯的。 我還應該注意,我正在使用Rails 5

鑒於我已經有了我的腳手架/模型,並且不想刪除它們,我該如何編寫遷移來實現上述情況? 我需要對各個模型添加什么?

使用多對多關系,確保您的遷移名稱包含JoinTable

rails g migration CreateEngineModelJoinTable engines models

引擎等級

class Engine < ActiveRecord::Base
  has_and_belongs_to_many :models
end

模型類

class Model < ActiveRecord::Base
  has_and_belongs_to_many :engines
end

您可以通過訪問

engines = model.engines
models = engine.models

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM