Вы можете получить доступ только к данным сеанса в контроллерах, это потому, что это единственное место, где они должны быть доступны для MVC. Контроллер буквально контролирует текущий сеанс и запрос, а затем извлекает и отправляет необходимую информацию в модель и представление.
Если вам нужен доступ к нему в другом месте, передайте необходимые данные в качестве параметра нужному методу при вызове с вашего контроллера.
Вот несколько ресурсов, чтобы узнать больше о шаблоне проектирования Model-View-Controller:
Весь смысл использования MVC состоит в том, чтобы различные части вашего приложения были разделены и изолированы. Это позволяет вам иметь более организованный код, который легче модифицировать. Хотя есть способы обойти строгую реализацию MVC в Rails и использовать вещи там, где они не будут обычно использоваться, это не рекомендуется. Соглашения существуют по определенной причине, если вы думаете о взломе, сделайте шаг назад и подумайте, как заставить его работать без этого, и в итоге вы получите лучший код.