1

2 つの条件セットのいずれかに基づいてレコードを取得したいと考えています。ユーザーがネットワーク メンバーである場合、ユーザーはパブリック Time レコード (プライベート == false) を読み取ることができます。ユーザーがネットワーク メンバーであり、Time の参加者である場合、ユーザーは非公開の Time レコード (private == true) を読み取ることができます。次のことを試しましたが、内部結合により条件の OR が妨げられています。

can :read, Time, network: {memberships: {user_id: current_user.id}}, private: false
can :read, Time, network: {memberships: {user_id: current_user.id}}, private: true, participants: {id: current_user.id}

他に行う必要があるのは、現在のネットワークから返されるレコードを絞り込むことですが、ネストされた能力定義が機能するかどうかはわかりません。助言がありますか?

4

0 に答える 0