1
私はクラスのユーザーとページの間に以下の関係があります。cancancan has_and_belongs_to_manyの能力
class User < ApplicationRecord
has_and_belongs_to_many :pages
end
class Page < ApplicationRecord
has_and_belongs_to_many :users
end
自分の能力ファイルで、ユーザーが自分に属しているページのみを編集できるようにするにはどうすればよいですか?
class Ability
include CanCan::Ability
def initialize(user)
if user.is? :page_administrator
can :manage, Page
end
end
end
私は次のことを試みますが、それでも私はできません。
can :manage, Page, users: { user_id: user.id }
あなたは[rolify宝石](httpsをチェックアウトすることをお勧めします:// githubのをユーザーがレコードが
user_pages
に存在するかどうかをチェックすることにより、管理者である場合今、私たちは確認することができます。 com/RolifyCommunity/rolify)は、多くのクラスにわたってロールベースの認可のフレームワークを提供します。 – max