Ruby on rails 坎坎

Ruby on rails 坎坎,ruby-on-rails,scope,cancan,Ruby On Rails,Scope,Cancan,当我这样做时,到底发生了什么: @patient.course_enrollments.accessible_by(current_ability) 似乎发生的是,我得到了课程注册,其中course.client\u id=user.client.id,我只是不明白如何通过访问 # ability.rb can :manage, CourseEnrollment, :course => {:client_id => user.client.id} accessible\u by为

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

@patient.course_enrollments.accessible_by(current_ability)
似乎发生的是,我得到了课程注册,其中
course.client\u id=user.client.id
,我只是不明白
如何通过
访问

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

accessible\u by
为您提供了一个范围,该范围仅包括您在当前
能力下能够访问的记录。由于您声明,
课程注册
上的
:manage
功能由当前用户拥有的课程过滤,因此,
accessible\u by
调用将添加相同的限制,以便返回的课程注册将全部由当前用户“访问”