无法授予作用于belongs_to关联的类的权限

时间:2015-04-22 16:30:24

标签: ruby-on-rails cancan cancancan

我的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_sheetstrue来是$ sass -v

感谢您提前提供任何帮助。

0 个答案:

没有答案