2013-06-20 4 views
0

У меня есть форма, хранящаяся в части _form, которая отображается на двух страницах. Страница A и стр. B.Сохранять параметры формы между двумя страницами?

Форма хорошо работает и правильно помещается с использованием GET на текущую страницу.

Однако, когда я нахожусь на странице A, отправьте форму и перейдите на страницу B, страница не сохранит значения, поскольку параметры не были отправлены на нее.

Должен ли я использовать сеанс, чтобы сохранить параметры моей формы поиска со страницы A и установить их на странице B при загрузке?

ответ

1

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

+0

Или в печенье. Кроме того, только скрытое поле, если эти поля не являются угрозой безопасности. – cpuguy83

+0

@ cpuguy83 кажется, что он говорил о поиске, поэтому я предположил, что не было проблемы с безопасностью, связанной с поиском пользователей. Вы правы, конечно, если это не то, что пользователь должен когда-либо видеть, не используйте скрытые поля! – Max

+0

Таким образом, каждый раз, когда пользователь выполняет поиск, мне нужно сохранить все параметры в сеансе, а в моем _form мне нужно проверить, заполнены ли параметры [], иначе замените значения полей на значения в сеансе. Разве это его суть? – Ayrad

0

Вы можете передать параметры из страницы А на страницу В от контроллера

class SomeController < ApplicationController 

    def action1 
    <do smething> 
    redirect_to action2(:param1 => params[:param1], :param2 => params[:param2]) 
    end 

    def action2 

    end 

end 

Вы можете использовать Params хэш в представлении для Page2 для заполнения поля.