给定具有属性“日期”的 Rails 模型“小部件”,是否可以在 CanCan 操作授权上设置条件,要求日期晚于当前时间?该文档显示了如何为数字属性指定范围:
can :read, Project, :priority => 1..3
...但尚不清楚这将如何应用于另一种类型的开放式范围(例如“> Time.now”):
can :some_action, Widget, :date => "????"
给定具有属性“日期”的 Rails 模型“小部件”,是否可以在 CanCan 操作授权上设置条件,要求日期晚于当前时间?该文档显示了如何为数字属性指定范围:
can :read, Project, :priority => 1..3
...但尚不清楚这将如何应用于另一种类型的开放式范围(例如“> Time.now”):
can :some_action, Widget, :date => "????"
您可以为条件定义一个块
can :some_action, Widget do |widget|
widget.date.to_time > Time.now
end
如果块返回 true,则用户具有该能力,否则他将被拒绝访问。
请参阅此以获取更多信息