Я строю многошаговую форму в рельсах. Он не управляется javascript, поэтому каждая страница имеет свое собственное действие контроллера, такое как "step1", step2 "и т. Д. Я знаю, как делать многошаговые мастера с помощью JQuery, но я не знаю, как сохранить проверки рельсов на страницу, не входя в javascript отсюда и так.
В любом случае, моя модель - это объект User
, но я храню все свои переменные в произвольной переменной Newuser
и использую следующее в представлении:
<% form_for :newuser, :url => { :action => "step3" } do |u| %>
В контроллере я объединяю информацию о текущей странице с общим хешем, используя:
session[:newuser].merge!(params[:newuser])
Это прекрасно работает, за исключением того, что если пользователь нажимает на предыдущую страницу, поля больше не заполняются. Как мне их заселить? Нужно ли менять объект в form_for
, чтобы как-то ссылаться на хэш сессии [: newuser]?
EDIT:
Полагаю, мне нужна дополнительная информация о том, как form_for автоматически заполняет поля в форме. Если она построена не на модели, а на произвольном хеше (в данном случае session[:newuser]
), как мне получить ее для автоматического заполнения?