ruby on rails - inverse_of - Est-ce qu'un modèle "appartient_à" peut/peut-être plus d'un modèle?



rails has_and_belongs_to_many migration (1)

Vous pourriez utiliser une relation polymorphe .

Votre compte bancaire aurait la relation polymorphe.

class BankAccount
    belongs_to :people, :polymorphic => true
end

Et vos deux (ou plus) autres modèles auraient une relation has_many simple.

class Member
    has_many :bank_accounts, :as => :people
end

Dans votre compte bancaire, vous pouvez alors utiliser @account.people qui vous donnera soit un Member ou un objet Team , en fonction de ce que c'est.

Et dans votre modèle de Member ou d' Team , vous pouvez obtenir le compte bancaire approprié avec @member.bank_accounts .

https://ffff65535.com

Excuses si c'est une question légèrement noob, mais cherchant à clarifier mes pensées à ce sujet. J'ai un modèle qui peut appartenir à un modèle ou un autre. Par exemple:

Disons que j'ai un modèle Team et que j'ai un modèle Member, et que ces deux modèles peuvent avoir un BankAccount.

class Team
  has_many :members
  has_one :bank_account
end

class Member
  belongs_to :team
  has_one :bank_account
end

class BankAccount
  belongs_to :team, :member
end

Pour moi, ce qui précède est logique, mais j'aimerais clarifier cela avec des gens Rails plus expérimentés? Rails a-t-il un moyen de déterminer quel est le modèle parent d'un compte bancaire donné, sachant qu'il pourrait s'agir de l'un des deux modèles? Par exemple, si j'ai appelé @ bank_account.member sur un compte bancaire de l'équipe, cela va-t-il être bancal?

Merci de votre aide.





associations