Je dois m'assurer qu'un utilisateur a les permissions correctes avant de leur permettre de modifier les informations d'un employé. Plus précisément, l'utilisateur doit être un administrateur et l'utilisateur doit appartenir à la même société que l'employé. Quelle est la meilleure façon de faire quelque chose comme ça?before_filter avec des paramètres pour authentifier les permissions de l'utilisateur
def EmployeesController < ApplicationController
before_filter :requires_admin_from_company(cid)
# Only allow access to this if user.admin is true and user.company_id is equal to employee.company_id
def update
# Somehow pass @employee.company_id into admin
@employee = Employee.find(params[:id])
@employee.update_attributes(params[:employee])
end
def requires_admin_from_company(cid)
if [email protected]_user.admin? || @current_user.company_id != cid
redirect_to login_url
end
end
end