Работа над приложением проекта Devise rails для аренды вещей в течение последних двух месяцев, и теперь проект должен быть изменен, так как он уже отправлен
как мой проект, напишите мне, как изменить маршрут
«Я решил, что мы будем играть чисто B2B. Таким образом, частным лицам не будет разрешено размещать оборудование для сдачи в аренду, только проверенные центры проката/магазины оборудования смогут размещать оборудование для сдачи в аренду. Однако частные лица смогут создать профиль и делать заказы через платформу, а не сдавать в аренду собственное оборудование/инструменты».
Итак, мой вопрос заключается в том, должен ли я добавить новый столбец в пользователя, например
Роли и разрешения в столбце Devise User:
Пользователь (физические лица),
Администратор (наши сотрудники),
Компания.
или используйте драгоценный камень, такой как rails-devise-pundit или cancancan, в проект, даже если этот проект уже построен.
Вы можете взглянуть на гем раскатывать.
Он очень прост в использовании, и вы можете добавить несколько ролей и назначить несколько ролей пользователю. При этом вы можете избежать добавления нового столбца в таблицу вашего пользователя.
Вот как вы можете назначить роль пользователю:
user = User.find(1)
user.add_role :admin
Проверьте, есть ли у пользователя роль admin
:
user = User.find(1)
user.has_role? :admin
=> true
мы можем сделать это, используя гем может может.
Основные шаги для реализации:
импортировать гем в Gemfile
создайте файл способностей с помощью приведенной ниже команды
rails g cancan:ability
class Ability
include CanCan::Ability
def initialize(user)
alias_action :create, :read, :update, :destroy, :to => :crud
if user.super_admin?
can :access, :rails_admin # grant access to rails_admin
can :dashboard # grant access to the dashboard
# Accss Level to Models
can :crud
end
end
end
Подробнее см. Документация по драгоценным камням.