【发布时间】:2011-10-12 10:05:47
【问题描述】:
是否可以在单独的文件中定义能力并将它们包含在 initialize 方法中的能力.rb 文件中?
下面的代码返回:尝试并得到:未定义的方法'can'
能力.rb
def initialize(user)
include MyExtension::Something::CustomAbilities
...
end
lib/my_extension/something.rb
module MyExtension::Something
module CustomAbilities
can :do_it, Project do |project|
check_something_here and return true or false...
end
end
end
如果可能的话,完美的解决方案是使用 Ability.send 扩展类 Ability :include/extend,因此在初始化方法中无需显式包含
【问题讨论】:
-
嘿@artur79,其中一个答案对您有用吗,还是您找到了自己的解决方案?请将其中一个答案标记为正确或发布您自己的解决方案。谢谢!
标签: ruby-on-rails ruby cancan