Что это за куки в программе рельсов? - PullRequest
0 голосов
/ 27 апреля 2018

Я пробираюсь через http://rails -4-0.railstutorial.org / book / , и я не понимаю, как работает cookies.

Мне совершенно ясно, какие куки есть в браузере и т. Д. Я не уверен, как они реализованы.

В примерах есть sessions_helper, который относится к входу в систему и т. Д. Именно здесь используются файлы cookie. Похоже, что он не находится внутри какого-либо конкретного объекта (разве предполагается, что все функции, определенные в session_helper, добавлены в класс Sessions?). Cookies фактически никогда не объявляются. Это никогда явно не запрашивается, или что-нибудь. Итак, кому это принадлежит? что это за сфера? где это инициализировано? что это за тип?

1 Ответ

0 голосов
/ 01 мая 2018

Исходя из того, что «получить ответ в Интернете, подать заявку и посмотреть, кто вас исправляет», вот что я получил до сих пор:

Из ссылок, предоставленных luisenrike, видно, что объект cookie объявлен в ActionController, который является суперклассом ApplicationController, который является суперклассом всех реальных контроллеров. Таким образом, он объявляется и инициализируется, когда (в этом случае) SessionsController инициализируется.

Первый вопрос - тот, в котором я менее уверен. Похоже, что все функции в session_helper автоматически рассматриваются как методы в SessionsController.

Таким образом, причина, по которой я могу использовать объект cookie в session_helper.rb, заключается в том, что методы в session_helper находятся в области действия объекта SessionsController, который по наследованию является ActionController, который определяет файлы cookie.

РЕДАКТИРОВАТЬ ДОБАВИТЬ: Нет, похоже, что SessionsHelper включен в ApplicationController вручную. Таким образом, в этом случае КАЖДЫЙ контроллер приложений имеет доступ к этим функциям ... хотя кажется, что в ОБЩЕМ FooHelper загружается FooController и Foo Views ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...