если вы делаете session[:food] , вы используете традиционный сеанс Rails: этот объект сеанса делает ваше значение "пицца" доступным со страницы на страницу, сохраняя его в cookie, срок действия которого истекает в браузере close (что означает, что если вы закроете браузер, ваша сессия[:food] будет уничтожена)
Когда мы говорим о постоянных, мы говорим о постоянных сеансах, так что же означает?
постоянный сеанс - это постоянный файл cookie, который все еще существует («навсегда»), даже если вы закрываете браузер, и не истекает, только если вы явно истечете срок его действия или удалите его.
но как сделать файл cookie, который все еще существует «навсегда»?
если я говорю «навсегда», это потому, что это сложно, и способ сделать это - установить срок действия файла cookie в течение длительного времени, например, через 20 лет или 60 лет .... вот так:
cookies[:remember token] = { value: "pizza", expires: 20.years.from now.utc }
Этот шаблон установки файла cookie, срок действия которого истекает через 20 лет, стал настолько распространенным, что Rails добавил специальный постоянный метод для его реализации, так что мы можем просто написать:
cookies.permanent[:food] = "pizza"
чтобы ответить на ваш вопрос, нет никакой разницы в структуре, каждый из них является файлом cookie, но разница заключается только в сроке службы каждого из них.
надеюсь, это поможет вам
09.11.2013