2011-03-17 51 views
14

究竟是什麼發生了,當我做:慘慘accessible_by

@patient.course_enrollments.accessible_by(current_ability) 

有什麼事發生的是我得到course_enrollments其中course.client_id = user.client.id,我只是不明白怎麼accessible_by作品。

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

回答

18

accessible_by爲您提供了一個範圍,包括只有那些你能夠記錄來訪問給予current_ability。由於您聲明CourseEnrollment上的:manage功能已由當前用戶擁有的課程過濾,因此accessible_by調用將添加相同的限制,以便返回的課程註冊將全部由當前用戶「訪問」。