是否可以在日期属性范围内调整CanCan能力?

时间:2013-06-17 15:58:37

标签: ruby-on-rails date cancan

给定一个带有属性“date”的Rails模型“Widget”,是否可以在CanCan动作授权上设置一个条件,要求日期晚于当前时间? documentation显示了如何为数字属性指定范围:

can :read, Project, :priority => 1..3

...但目前尚不清楚这将如何适用于另一种类型的开放式范围(例如“> Time.now”):

can :some_action, Widget, :date => "????"

1 个答案:

答案 0 :(得分:1)

您可以为条件定义块

can :some_action, Widget do |widget|
  widget.date.to_time > Time.now
end

如果该块返回true,则该用户具有该能力,否则将被拒绝访问。

有关详细信息,请参阅this