Я бы создал помощника в application_controller для current_user
и исключил бы использование User.find
Самый простой способ создания авторизации - с логическим флагом (admin true /ложный).Другими простыми решениями являются канканы, о которых упоминает Яннис, или easy_roles KISS рекомендуется начинать с.Вы можете реализовать действие редактирования следующим образом:
def edit
if current_user.is_admin?
User.find(params[:id])
else
current_user
end
end
application_controller.rb
def current_user
UserSession.find
end
Чтобы ограничить доступ для пользователя, например, для пользователя, имеющего собственные задачи, сделайте это.
def index
@tasks = current_user.tasks
end