【发布时间】:2013-05-27 07:32:24
【问题描述】:
我在CanCan gem 中找到了此代码用于rails:
def initialize(user)
can do |action, subject_class, subject|
user.permissions.find_all_by_action(aliases_for_action(action)).any? do |permission|
permission.subject_class == subject_class.to_s &&
(subject.nil? || permission.subject_id.nil? || permission.subject_id == subject.id)
end
end
end
我知道方法可以被多次调用,但是参数是怎么传的呢? action、subject_class 和 subject 变量在哪里启动?
【问题讨论】:
-
can 方法产生这些参数 - 读取块。
-
谢谢,弗雷德里克。这就是我需要的。
标签: ruby-on-rails ruby scope