@xxx44yyy

Как используя Devise, Cancancan, Rolify дать отдельным пользователям возможность работать с объектами?

Запутался. Одна роль: админ. Можно добавить другие. Три пользователя. Один пользователь - админ. Два других - без ролей. Также есть Книги.

Хочу чтобы админ мог делать всё с книгами и с пользователями. А вот пользователь-1 мог бы только прочитать книгу-1, а пользователь-2 мог бы только читать и редактировать книгу-2. Как это сделать? Мне в голову приходит только самый тупой способ - это сделать две роли и прописать их в ability, типа такого:

if user.has_role? :admin
    can :manage, :all
elsif user.has_role? :role_for_read_book1
    can :read, Book.find(1)
elsif user.has_role? :role_for_read_edit_book2
    can [:read, :edit, :update], Book.find(2)
end


Думаю так сработает, но это какая-то тупая схема.
  • Вопрос задан
  • 31 просмотр
Пригласить эксперта
Ответы на вопрос 1
vesh95
@vesh95
Инженер-электроник, программист
Лучше посмотреть шире, первый - редактор, второй - читатель.
И выставить им роли editor и reader, а в abilitys. Впринцыпе получится как в вашем примере.
Не стоит забывать, что роль можно давать на отдельный ресурс.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Frogogo Москва
от 100 000 до 250 000 руб.
СофтТелематика Москва
от 100 000 до 200 000 руб.
от 100 000 до 200 000 руб.
16 окт. 2019, в 13:20
70000 руб./за проект
14 окт. 2019, в 22:05
35000 руб./за проект