Rails 'Preview State' Использование Cookies / Session - PullRequest
0 голосов
/ 15 мая 2011

Это, кажется, распространенный вопрос, но мне еще предстоит найти очень «подробный» ответ - я ищу лучший способ позволить пользователям предварительно просмотреть форму, которую они собираются отправить, перед ее отправкой.

Очевидно, что хранить это в БД - не лучший вариант (что я сейчас и делаю), потому что должен быть процесс для его удаления, и это имеет много сценариев.

Подробности
Я не хочу показывать пользователю действие edit , я хочу показать пользователю show действие, а вверху и внизу экрана есть кнопка Опубликовать .

Мои вопросы:

  1. Как бы вы сохранили информацию из формы в сеансе (ищите код контроллера)
  2. Как вы узнали бы в действии show , что вы отображаете предварительный просмотр, а не «реальный» объект.(или у вас есть отдельное действие для предварительного просмотра?) (ищите какой-нибудь контроллер / код просмотра здесь)
  3. Как бы вы удалили данные сеанса, как только пользователь «покончил» с ними??

Я думаю, что хранение в базе данных имеет ту же проблему, что и хранение в сеансе, очистка, я не прав?Каков наилучший способ сделать это?

1 Ответ

1 голос
/ 24 мая 2011

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

...