0

私のデータモデルでは:

Company has_many offices

Employee has_many offices, through: :employee_office(これは、会社の管理者が特定のオフィスの従業員に許可を与え、他のオフィスには許可しない方法です)

Office has_many appointmentsAppointment belongs_to office

での作品が で作成された場合にのみ でアクションを実行CanCanCanできるようにする機能を定義したいと思います。EmployeeAppointmentEmployeeOfficeAppointment

この疑似コードのようなもの:

Employee can :manage Appointment, Employee.offices.include?(Appointment.office)

これは私がこれまでに持っているものです:

class EmployeeAbility
  include CanCan::Ability

  def initialize(employee)
    can :read,      Company,        :id => employee.company.id
    can :read,      Office,         :id => employee.company.id
    #I'd like to include the above psuedocode here, but I'm not sure how to structure it
  end
end

ありがとう!

4

1 に答える 1