В Rails, как создать выпадающее меню, которое заполняет параметры для пути, по которому нужно перейти? - PullRequest
0 голосов
/ 04 марта 2010

Попытка создать меню выбора с элементами из коллекции, чтобы после выбора элемента и нажатия кнопки «Отправить», пользователь перенаправлялся к действию «Показать» для этого элемента ...:

<% form_tag("subjects/#{@subject.id}/state/:id", :method=>:get) do %>
  <%= select_tag('state', options_from_collection_for_select(State.states, 'id', 'name'))%>
  <%= submit_tag "go!" %>
<% end %>

Что мне нужно, это то, что выбрано в меню для заполнения параметра: id ... (это rails 2.3)

Ответы [ 2 ]

0 голосов
/ 29 марта 2013

Структура запрашиваемого URL-адреса не может быть создана с использованием только HTML-формы. Это потребует некоторого JavaScript:

$('#my_form').submit(function(){
  window.location = '/subjects/' + $('#subject_id').val() + '/state/' + $('#state_id').val();
});
0 голосов
/ 04 марта 2010

Вы можете отправить форму действию, которое перенаправляет вас туда, куда вы хотите:

<% form_tag("some_controller/redirection", :method=>:get) do %>
  <%= select_tag('id', options_from_collection_for_select(State.states, 'id', 'name'))%>
  <%= hidden_field_tag :subject_id, @subject.id %>
  <%= submit_tag "go!" %>
<% end %>

в SomeController

def redirection
  redirect to "subjects/#{#{params[:subject_id]}}/state/#{params[:id]}"
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...