1

購入者としてのユーザー has_many 契約 販売者としてのユーザー has_many 契約

CanCan を使用して、ユーザーを所有するものに制限できることを知っています。しかし、この場合、買い手と売り手の両方を持つ契約があります。ユーザーが自分が購入者または販売者であるすべての契約を閲覧/閲覧できるようにしたいと考えています。

Scope をセットアップして CanCan で使用しようとしましたが、うまくいかないようです。

アビリティをこんな風に設定して...

can :read, Contract.parties(user.id)

私のスコープは次のように定義されています...

scope :parties, lambda { |user_id| where("seller_id = ? OR buyer_id = ?", user_id, user_id) }

また、別の方法で能力を設定しようとしました...

can :read, Contract, buyer_id: user.id
can :read, Contract, seller_id: user.id

しかし、上記は競合しているようで、エラーをスローします

4

1 に答える 1