Как добиться простой области видимости в ваших представлениях, таких как:
<% if @user.admin %>
где «admin» — это следующая область в user.rb:
scope :admin, where(role: "admin")
есть столбец Роль, который является строкой в таблице пользователей
Я делал то же самое раньше с другой моделью (но не с пользовательской моделью разработки), к которой я мог бы позже обратиться
<% if objective.completed %>
сразу после вызова каждого метода в задачах.
Однако когда я делаю то же самое с пользовательской моделью, я получаю
undefined method `admin' for #<User:0x00000107e39038>
Как я мог заставить его работать? Я копался часами.
Для обходного пути без области попробуйте:
<% if @user.role == "admin" %>