Rails ActiveRecord_Relation доступно глобально доступно - PullRequest
0 голосов
/ 01 сентября 2018

В моей модели User у меня есть некоторые отношения:

has_many :properties
has_many :roles, through: :properties

Во многих местах моего приложения, в частности в Navbar, меню показывается пользователю, если у них есть определенные «свойство» и «роль». Чтобы проверить эти разрешения, для каждого элемента в панели навигации мне нужно проверить модель пользователя и ее взаимосвязи. Но это выполняет много запросов к БД, и я хочу избежать этого.

Моя идея состоит в том, чтобы использовать переменную ('user_permissions'), которая является ответом на запрос, который содержит все необходимые сведения о пользователе.

Как я могу вызвать этот запрос только один раз в приложении и сохранить эту информацию в переменной (пока я не заставлю 'перезагрузить' для этой переменной), которая доступна во всех контроллерах и представлениях?

...