我正在寻找一个具有分层帐户计划的应用。我有免费账户和高级账户。
我正在寻找的是一个很好的插件来帮助我处理这种限制/授权。我正在看CanCan,因为它似乎是事实,贝茨先生很棒,但我有一个问题。
使用CanCan,您是否可以说,限制用户完成创建操作的时间?我想这样做一个免费帐户只能创建一定数量的项目或其他模型对象,这可能是CanCan吗?
无论如何,我只是想帮助开始使用Authorization插件,这是一种内置限制活动方法的优先选择。
答案 0 :(得分:5)
你可以用CanCan用块来定义能力。像
这样的东西can :create, Project do |p|
user.plan.limit < user.projects
end
无论如何,我会为此创建一个模型方法。 user.has_reached_limit?
或user.on_plan_limit?
希望有所帮助,
NHI
答案 1 :(得分:0)
限制用户创建模型记录的次数是您通常可以使用自定义模型验证或使用操作过滤器来处理控制器方法的问题。我不知道任何促进这种约束的宝石或插件,但如果确实存在,我会感兴趣。