В моей модели User у меня есть некоторые отношения:
has_many :properties
has_many :roles, through: :properties
Во многих местах моего приложения, в частности в Navbar, меню показывается пользователю, если у них есть определенные «свойство» и «роль». Чтобы проверить эти разрешения, для каждого элемента в панели навигации мне нужно проверить модель пользователя и ее взаимосвязи. Но это выполняет много запросов к БД, и я хочу избежать этого.
Моя идея состоит в том, чтобы использовать переменную ('user_permissions'), которая является ответом на запрос, который содержит все необходимые сведения о пользователе.
Как я могу вызвать этот запрос только один раз в приложении и сохранить эту информацию в переменной (пока я не заставлю 'перезагрузить' для этой переменной), которая доступна во всех контроллерах и представлениях?