14

当我这样做时到底发生了什么:

@patient.course_enrollments.accessible_by(current_ability)

似乎发生的事情是我得到 course_enrollments where course.client_id = user.client.id,我只是不明白它是如何accessible_by工作的。

# ability.rb
can :manage, CourseEnrollment, :course => {:client_id => user.client.id}
4

1 回答 1

18

accessible_by为您提供一个范围,该范围仅包括您可以访问的那些记录current_ability。由于您声明该:manage功能CourseEnrollment由当前用户拥有的课程过滤,因此该accessible_by调用将添加相同的限制,以便返回的课程注册都将由当前用户“访问”。

于 2011-03-17T21:51:51.507 回答