【问题标题】:Rails 4 - Rolify with renewal date for roleRails 4 - 更新角色的日期
【发布时间】:2016-12-13 02:04:33
【问题描述】:

我正在尝试使用 Rolify 在我的 rails 应用中设置角色。

我有一个角色的 CRUD 模型设置。我即将开始探索某些用户如何将作用域角色分配给其他用户。

有没有一种方法可以让被允许分配角色的用户指定续订日期,以便他们确认用户是否继续担任该角色?

目前,我的角色表只有资源和用户的关联,以及一个名为 :name 的字符串属性(用于角色的名称)。

我可以为角色是否有到期日添加一个布尔值来表示真/假,如果有,应该在何时发出续订通知?

有没有更好的方法来解决这个问题?

【问题讨论】:

    标签: ruby-on-rails roles rolify


    【解决方案1】:

    这是个好主意:

    1. 为角色和权限创建一个表。
    2. 在该表中添加一个字段 has_expired。
    3. 当您保存权限集到期日期时。
    4. 用户登录时测试过期日期。
    5. 然后将 has_expired 设置为 true
    6. 如果您使用的是 cancancan gem,那么在ability.rb 模型中:

      if user.role.has_expired? cannot :manage, Role end

    希望对您有所帮助

    【讨论】:

    • @Pradeep_Sapkota - 谢谢。我正在使用权威人士进行授权。您的意思是我将 has_expired 字段添加到角色表中吗?然后我可以使用 Pundit 排除角色已过期的任何人。在这种情况下,我应该在角色表中添加一个日期字段来设置到期日期
    • 对不起,我用康康设计的,我对权威一无所知。
    猜你喜欢
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 2016-03-18
    • 1970-01-01
    • 2016-04-21
    相关资源
    最近更新 更多