簡體   English   中英

Rails-has_one:through和has_many:through

[英]Rails - has_one :through and has_many :through

我想設計一個俱樂部系統。 俱樂部有許多用戶,一個用戶有一個俱樂部,以及存儲一些信息的成員資格。 我可以使用has_one:through和has_many:through建立一對多關聯嗎?

class Club < ApplicationRecord
  has_many :users, through: :memberships
  has_many :memberships
end

class Membership < ApplicationRecord
  belongs_to :club
  belongs_to :user
end

class User < ApplicationRecord
  has_one :club, through: :membership
  has_one :membership
end

因為在《 Rails指南》中,它提到has_one:through建立一對一的關聯,並提到has_many:through建立多對多的關聯。 我可以用這種方式嗎? 謝謝。

您可以。 您必須先調整模型以定義through零件,然后再定義通過它的另一個關聯,即

class Club < ApplicationRecord
  has_many :memberships
  has_many :users, through: :memberships
end

class User < ApplicationRecord
  has_one :membership
  has_one :club, through: :membership
end

暫無
暫無

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

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