在ability.rb
我有以下陈述:
if user.is_employee?
can :schedule, Employee, id: user.employee.id
end
这应该允许员工查看他们自己的日程安排/employees/273/schedule
。如果员工的 ID 为 273,则该 URL 将起作用。这有效……员工能够查看该 URL。问题是员工也可以查看所有其他 ID。上述不应该限制员工只安排他们自己的身份证吗?
更新:这是我的EmployeeController
:
class EmployeeController < ApplicationController
before_filter :authenticate_user!
authorize_resource
def schedule
@employee = Employee.find(params[:id])
end
end