je les modèles suivants:Rails Cancancan - autorisant les associations imbriquées
class Party
belongs_to :user
has_many :party_co_hosts
accepts_nested_attributes_for :party_co_hosts
has_many :co_hosts, through: :party_co_hosts
class CoHost
belongs_to :party
belongs_to :co_host, foreign_key: :user_id
class User
Une partie devrait appartenir à un utilisateur (l'hôte) et l'hôte peut attribuer des co-hôtes qui devraient être en mesure de modifier les détails sur la faire la fête mais pas ajouter/supprimer des co-hôtes. J'ai du mal à définir cette capacité à Cancancan. Cela donne à l'hôte carte blanche pour faire ce qu'ils veulent à la fête - c'est bien.
can :update, Party do |p|
p.co_hosts.include? user
end
Cela donnerait une co-hôte la possibilité de modifier la partie, ce qui est également bon, mais je ne veux pas que d'inclure l'association party_co_hosts
imbriquée.
Dois-je supprimer le accepts_nested_attributes_for
et forcer party_co_hosts
à créer via un contrôleur distinct plutôt que d'autoriser l'association imbriquée dans le parent? D'autres idées que je manque juste?