Видимость переменной сеанса в рельсах - PullRequest
2 голосов
/ 25 марта 2011

Может кто-нибудь объяснить мне видимость переменной сеанса в Rails.Я имею в виду, через какие классы будут доступны переменные сеанса.Я могу получить доступ к переменной сеанса в контроллере, но если я создаю автономный класс, я не могу получить доступ к хешу сеанса.Также дайте мне знать, как лучше всего получить доступ к переменной сеанса в автономном классе.Может кто-нибудь помочь мне понять эту концепцию сессии?Любые указатели или чтения, связанные с этим, будут полезны.

Спасибо

1 Ответ

4 голосов
/ 25 марта 2011

Вы можете получить доступ только к данным сеанса в контроллерах, это потому, что это единственное место, где они должны быть доступны для MVC. Контроллер буквально контролирует текущий сеанс и запрос, а затем извлекает и отправляет необходимую информацию в модель и представление.

Если вам нужен доступ к нему в другом месте, передайте необходимые данные в качестве параметра нужному методу при вызове с вашего контроллера.

Вот несколько ресурсов, чтобы узнать больше о шаблоне проектирования Model-View-Controller:

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

...