Render W Params или Redirect W Ошибки в Ruby on Rails - PullRequest
2 голосов
/ 15 февраля 2010

Я использую ruby ​​на рельсах, и на моем сайте есть вещи, которые пользователи могут щелкнуть, чтобы сохранить, и они перенаправлены на страницу с логином и регистрацией, чтобы пользователь мог продолжить работу с любым из этих вариантов и сохранить содержимое. Создает проблему для отображения правильных ошибок проверки пользователя, потому что мне нужно использовать redirect_to users / new для передачи параметров с идентификатором объекта, который пользователь сохраняет, и если я использую render: new, ошибки будут отображается, но идентификатор объекта утерян. У кого-нибудь есть какие-то решения для этого?

Ответы [ 2 ]

2 голосов
/ 15 февраля 2010

Сохраните исходный идентификатор элемента в сеансе, перейдите к обычному процессу входа / регистрации, когда он завершится, если в сеансе есть элемент сохранения, перенаправьте на действие, которое обрабатывает сохранение (теперь он может захватить элемент идентификатор из сеанса и продолжить).

0 голосов
/ 16 сентября 2010

«Из любопытства, что не так с сохранением самого объекта в сеансе? Таким образом, мне не пришлось бы выполнять второй поиск в базе данных, чтобы снова найти объект». --TenJack (вероятно, это должен быть новый вопрос StackOverflow)

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

Вот почему лучше хранить только идентификатор - потому что вы получите свежий, правильно созданный экземпляр объекта из БД.

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