Сохранение данных в сеансе rails для использования в форме при следующем запросе - PullRequest
3 голосов
/ 16 сентября 2009

Допустим, у меня есть таблица, называемая позициями (как на рабочих местах). На странице показа позиции я показываю все детали работы - потрясающе. Внизу мне нужно, чтобы потенциальный соискатель ввел свою профессиональную лицензию # перед тем, как перейти на следующую страницу, которая является настоящей формой создания соискателя. Мне также нужно взять эту лицензию # и заполнить это поле в форме кандидата (снова на следующей странице).

Я понимаю, что есть несколько способов сделать это. Возможно, более популярным вариантом будет сохранение этого значения в сеансе. Мне интересно, как это сделать проще всего?

Моя идея:

  1. Создать таблицу специально для # лицензии.
  2. Добавить небольшую форму на странице отображения позиции для создания лицензии # (с проверкой)
  3. Сохранять вновь созданную лицензию в сеансе - не знаете, что добавить в какой контроллер?
  4. По заявке на создание формы заполнить с сессии лицензию #.

Это предполагает, что заявители имеют только одну лицензию.

Мысли

Ценю помощь!

Ответы [ 3 ]

3 голосов
/ 16 сентября 2009

Похоже, хорошая идея. Что касается # 3, для любого контроллера, вызываемого при переходе от 2 до> 4, это будет контроллер, в котором вы сохраняете сеанс, как таковой:

session[:license_number] = your_license_number_information

Оттуда он может быть вызван таким же образом (сессия [: номер_лицензии]), чтобы получить его.

3 голосов
/ 16 сентября 2009

Не сохраняйте это в сеансе! Передайте это как скрытое поле.

Допустим, пользователь запускает форму, затем снова открывает форму в новом окне или что-то еще ... тогда переменная сеанса будет разделена между двумя формами. Другие проблемы могут возникнуть при удалении файла cookie (истечение срока сеанса, очистка кэша пользователя ...)

Это не хорошо. Лучший способ - использовать переменную POST. GET тоже работает, но портит URL

0 голосов
/ 05 февраля 2010

Скрытое поле безопаснее для сохранения данных. Но не кодируется ли это в выводе HTML? Это может быть серьезной проблемой безопасности данных.

Это компромисс, который нужно учитывать.

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