Role management trong Rails với rolify gem

Tram Ho

Giới thiệu

Rolify là gem trong Rails dùng để hỗ trợ việc quản lý các Roles trong Rails một cách dễ dàng và nhanh chống.

Nó hỗ trợ cả scope trên resource object nào đó.
Ví dụ:

Cài đặt

=> bundle install

Cách sử dụng

1. Tạo Role Model

Đầu tiên, mình phải sử dụng generator của nó để setup cho Rolify. Model Role và User là tên default. Tuỳ nhiên, bạn cũng có thể dùng tên khác tuỳ thuộc vào project thực tế của bạn.

The generator will create your Role model, add a migration file, and update your User class with new class methods.

Generator này sẽ:

  • tạo model Role
  • tạo file migration mới
  • cập nhật model User với class method mới

2. Configure resource models

Trong những model bạn muốn apply role vào, bạn chỉ cần add method resourcify như sau:

Tạo role cho User

Tạo global Role: Role cho tất cả resource object

Tạo role cho một resource instance nào đó:

Tạo role cho resource class nào đó:

Xoá role:

Role queries

Kiểm tra user đó có global role hay không:

Kiểm tra user đó có role trên resource instance đó hay không:

Kiểm tra user đó có role trên resource class đó hay không:

Nếu bạn tạo global role cho user, gloabl role sẽ overrides toàn bộ các role cho resource:

Để kiểm tra user đó có role cụ thể cho resource nào đó hay không:

Ở trên là các method cần thiết để sử dụng Roliy, tuỳ nhiên còn có các method khác nữa. Để chi tiết hơn bạn tham khảo tài liệu của nó ở đây.

https://github.com/RolifyCommunity/rolify

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo