Rails Как определить и переместить переменную через несколько контроллеров и представлений - PullRequest
0 голосов
/ 27 марта 2012

Вероятно, это основной вопрос, но он не знаком с Rails и веб-программированием и не нашел хорошего ответа при исследовании этого сайта.

На четырех страницах, трех контроллерах и одной базе данных, начиная с домашней страницы.(контроллер страниц): 2 параметра (в форме), которые будут использоваться на четвертой странице для поиска в записях в таблице базы данных, и одна переменная (заданная в скрытом поле), которая будет использоваться для определения какой информацииотображается на четвертой странице.При нажатии кнопки «Отправить» перейдите на вторую и третью страницу (контроллер категорий), чтобы получить еще два параметра (по одному на каждой странице) в link_to, прежде чем перейти на 4-ю страницу (контроллер продуктов), где используется переменная с домашней страницы.чтобы определить, какая информация из таблицы продуктов должна отображаться.

Каков наилучший способ и синтаксис в link_to для сбора этих параметров и переменных и их перемещения по контроллерам и страницам?Где бы я определил эту переменную?

1 Ответ

1 голос
/ 27 марта 2012

У вас есть несколько вариантов выбора области «хранилища», которую можно использовать для разных запросов.

  • cookie
  • сеанс
  • строка запроса

Первые два, вероятно, самые простые.

Я бы, вероятно, склонялся к сеансу, поскольку именно для этого он и предназначен.

Если вы сохраняете эти данные в сеансе, вам не нужно заботиться о том, чтобы эти данные сохранялись в URL-адресах.(поэтому он исключает необходимость создания помощников link_to), то есть данные всегда доступны в контроллерах.Конечно, есть разумные механизмы отката, если вы ожидаете, что данные сеанса будут установлены и по какой-либо причине они больше не установлены.

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