我正在使用Devise,对使用Pundit感兴趣,但找不到很多关于它是否应该与Rolify集成的信息。CanCanCan与Rolify很好地配合,我喜欢角色模型。我是否忽略了Pundit和Rolify不经常一起使用的重要原因?
我正在使用Devise,对使用Pundit感兴趣,但找不到很多关于它是否应该与Rolify集成的信息。CanCanCan与Rolify很好地配合,我喜欢角色模型。我是否忽略了Pundit和Rolify不经常一起使用的重要原因?
class OrganisationPolicy
def initialize(user, organisation)
@user = user
@organisation = organisation
end
def index?
@user.has_role? :admin
end
def show?
@user.has_role?(:admin) || @user.organisation == @organisation
end
end
事实上,rolify
和pundit
没有耦合是一件好事情,而不是设计上的失败 ;)
create_table "users", force: true do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", default: 0, null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.datetime "created_at"
t.datetime "updated_at"
**t.boolean "is_admin"
t.boolean "is_daily_user"
为用户角色添加了is_admin
和is_daily_user
字段。
希望这可以帮助您!