RubyOnRail отправляет параметры с помощью form_remote_tag - PullRequest
0 голосов
/ 04 мая 2011

Я знаю, что некоторые подумают, что я должен использовать 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

1 Ответ

0 голосов
/ 05 мая 2011

Я решил функционально, но в моем контроллере может быть что-то очень странное:

 if request.xhr?
    @super = params[:supermercados].to_s.split(",")
    @cortess = params[:cortes].to_s.split(",")
    @prods = params[:productos].to_s.split(",")
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...