我的CourseClass
模型有很多AttendanceSheet
s和has_many
Teacher
s。我希望course_class实例的老师能够管理该course_class的考勤表。
我希望以下内容可以设置:
if user.has_role? :teacher
can [:manage], AttendanceSheet, course_class: { teachers: {id: user.id } }
end
用户具有全局角色,但也可以在CourseClass上拥有每个实例角色。理论上,上面应该检查它们是否具有全局角色,然后teachers
关联只找到在该CourseClass上具有实例角色的教师。
在控制器中@attendance_sheets由:
设置 @attendance_sheets = @course_class.attendance_sheets.all
当我进行能力检查时,我得到以下结果:
[1] pry(#<#<Class:0x007fb011970ea0>>)> can? :read, @attendance_sheets
=> false
[2] pry(#<#<Class:0x007fb011970ea0>>)> can? :read, AttendanceSheet
=> true
[3] pry(#<#<Class:0x007fb011970ea0>>)> can? :read, @course_class.attendance_sheets
=> false
[4] pry(#<#<Class:0x007fb011970ea0>>)> can? :manage, AttendanceSheet
=> true
我希望/ read
/ manage
AttendanceSheet
false
:read
和@attendance_sheets
@course_class.attendance_sheets
或true
来是$ sass -v
。
感谢您提前提供任何帮助。