役割と能力が分離されたレールアプリを構築しています。cancancan+deviseを使うことにしたのですが、標準ユーザーロールの設定方法がわかりません?
class User < ActiveRecord::Base
ROLES = %i[admin moderator author banned]
end
役割と能力が分離されたレールアプリを構築しています。cancancan+deviseを使うことにしたのですが、標準ユーザーロールの設定方法がわかりません?
class User < ActiveRecord::Base
ROLES = %i[admin moderator author banned]
end
User モデルでコールバックを実行できます。
class User < ActiveRecord::Base
after_create :assign_default_role
def assign_default_role
add_role(:default_role) if self.roles.blank?
end
end
after_create が適切でない場合は、別のコールバックを試してください。詳細 はこちら
アビリティを定義するとき、デフォルトのユーザー権限に「ユーザー」と呼ばれるアビリティを使用します。つまり、他の役割を持たないユーザーは、デフォルトの一連の能力を取得します。
また、サインインしていない訪問者に対して一連の「ゲスト」権限を使用します。