#ruby-on-rails-3
#ruby-on-rails-3
Вопрос:
У меня есть простая страница с одним текстовым полем и кнопкой отправки. Я хочу, чтобы пользователь мог вводить строку, и кнопка отправки направляла пользователя на определенную страницу, где текстовое поле находится в URL-адресе как:id .
Например, если пользователь вводит «тест», нажатие кнопки отправки должно отправить его в «/ controller / action / test».
Возможно ли это? Я пытался:
<%= form_tag :controller => "myController", :action => "myAction", :id => :textFieldName do %> ...
но это не работает. (Я не подозревал, что это произойдет.)
Спасибо
Ответ №1:
Вам придется использовать Javascript. В простейшей форме
$('form').submit(function() {
$(this).attr('action') = '/url/prefix/' $(this).find('input#the_field').val();
return true;
});
И затем обработчик должен вернуться, и форма должна быть отправлена на новый URL.
Обратите внимание, что вы также должны проверить / нормализовать содержимое поля.
Ответ №2:
Вы могли бы попробовать…
Не устанавливайте идентификатор тега формы. Вместо этого возьмите значение текстового поля из params
хэша в качестве указания, куда перенаправлять.
т. Е. в представлении…
<% text_field_tag :id => "test_value" ... %>
и в контроллере…
redirect_to "/action/" params[:test_value]