Chr*_*nch 14 scope ruby-on-rails cancan
我这样做到底发生了什么:
@patient.course_enrollments.accessible_by(current_ability)
Run Code Online (Sandbox Code Playgroud)
似乎发生的事情是我得到course_enrollments course.client_id = user.client.id,我只是不明白它是如何accessible_by工作的.
# ability.rb
can :manage, CourseEnrollment, :course => {:client_id => user.client.id}
Run Code Online (Sandbox Code Playgroud)
jdl*_*jdl 18
accessible_by为您提供一个范围,其中仅包含您能够访问的记录current_ability.由于您声明该:manage功能CourseEnrollment是由当前用户拥有的课程过滤的,因此该accessible_by呼叫将添加相同的限制,以便返回的课程注册将全部由当前用户"访问".