Rails 3, как получить значение элемента select tag с динамическим именем параметра? - PullRequest
0 голосов
/ 28 марта 2012

как мне получить выбранное значение этого select_tag, вот мой код. На одной странице есть несколько подобных форм, поэтому я использую "dropdown_cases # {e.id}"

<%= form_tag "/application/cart", :remote => true do %>
   <%= select_tag "dropdown_cases#{e.id}", options_for_select([ ["6 Bottles", 1], ["12 Bottles", 2], ["18 Bottles", 3], ["24 Bottles", 4], ["30 Bottles", 5], ["36 Bottles", 6], ["42 Bottles", 7]]) %>
   <%= image_submit_tag("/images/none.png", :class => "add_to_cart_submit", :onclick => "add_to_cart_notify(#{e.id});") %>
<% end %>

Допустим, например, здесь идентификатор 123. Теперь у меня вопрос, как мне получить доступ к этому значению params[:dropdown_cases123]Спасибо Джо Пим за удивление!Я просто хотел бы опубликовать свои выводы для будущих ссылок или для других пользователей с такой же проблемой. просмотр

<% @results_all.each do |e| %>
 <%= form_tag "/application/cart", :remote => true do %>
  <%= select_tag "dropdown_cases[]", options_for_select([ ["6 Bottles", 1], ["12 Bottles", 2], ["18 Bottles", 3], ["24 Bottles", 4], ["30 Bottles", 5], ["36 Bottles", 6], ["42 Bottles", 7]]) %>
  <%= image_submit_tag("/images/none.png", :class => "add_to_cart_submit" %>
 <% end %>
<% end %>

контроллер

params["dropdown_cases"].each do |cases|
 @this_is_the_dropdown_value = cases.to_i
end

1 Ответ

2 голосов
/ 28 марта 2012

Используйте квадратные скобки.

select_tag "dropdown_cases[]", options_for ....

Обратите внимание на []. Rails будет хранить это как {"dropdown_cases" => [один параметр для каждой формы]}.

Если важно знать, какой выбор при условии, какое значение, вы можете их вложить, поэтому

select_tag "dropdown_cases[bob]", ... 

предоставит {"dropdown_cases" => {"bob" => selected_option}}.

По сути, [] сохраняет его в массиве, а [ключ] сохраняет его в хеше с этим ключом.

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