Я знаю, что некоторые подумают, что я должен использовать form_tag с: remote => true, но я не знаю, как отобразить весь вывод html ....
Моя проблема заключается в следующем:
У меня есть эта форма, которая отправляет коллекцию через 3 поля со списком
<%= form_remote_tag :url => report_client_reports_path, :update => :graphic do%>
<%#= form_tag reporte_client_reports_path%>
<p><%= label_tag :supermercados %>
<%=select_tag "supermercados[]", options_from_collection_for_select(@supermercados, "id", "name"),{:multiple=>true, :id => "supermarkets"}%>
</p>
<p><%= label_tag :cortes %>
<%=select_tag "cortes[]", options_from_collection_for_select(@cortes, "corte_real","cuts"),{:multiple=>true, :id => "cortes"}%>
</p>
<p><%= label_tag :productos %>
<%= select_tag "productos[]", options_from_collection_for_select(@productos, "id", "name"),{:multiple=>true, :id => "products"}%>
</p>
<p><%= submit_tag 'Send' %></p>
<%end%>
Если я раскомментировал эту строку:
<% # = form_tag reporte_client_reports_path%>
Он работает хорошо и представляет мне график, но не так, как я ожидаю.
Я обнаружил, что с помощью form_remote_tag он отправляет все переменные со своими значениями, но я не знаю, почему мой контроллер видит только одно значение каждой переменной.
вот контроллер:
@super = params[:supermarkets]
@superm = []
@super.each do |s|
@superm << Company.find(s).abbr
end
@cuts = params[:cuts]
@prods = params[:products]
@cortesGraph = []
@cortess.to_a.each do |c|
@cortesGraph << "#{RawData.find_by_real_cut(c).cuts}"
end
Объекты @ superm, @ cuts и @products не получают более 1 значения в массиве, это проблема маршрутизации или опция, которую я пропустил в form_remote_tag?
И обновите до simplefy, что на самом деле все еще происходит, это:
Это работает:
<%= form_tag reporte_client_reports_path do%>
Это не так:
<%= form_tag reporte_client_reports_path,:remote=>true do%>
Проблема в том, что: remote не отправляет мои параметры в виде массива, он отправляет все данные как 1 var: s