2011-05-03 34 views
0

我知道有些人會認爲我應該使用的form_tag:遠程=>真實的,但我不知道如何呈現一個完整的HTML輸出....RubyOnRails發送PARAMS與form_remote_tag

我的問題是以下:

我有這樣的形式發送的集合通過3個comboxes

<%= 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%> 它工作良好並且本米e圖表,但不是我希望工作的方式。

我已經檢測到使用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,@切口和@products陣列中的arent receving超過1個值,則路由問題或我已經在form_remote_tag錯過了一個選項?


並更新到simplyfy,究竟是仍然發生是這樣的:

這個工程:

<%= form_tag reporte_client_reports_path do%> 

這不:

<%= form_tag reporte_client_reports_path,:remote=>true do%> 

的問題是, :遠程沒有發送我的參數作爲數組發送所有數據爲1 var:s

回答

0

我在功能性的方式解決,但可能有一些非常奇怪這個在我的控制器:

if request.xhr? 
    @super = params[:supermercados].to_s.split(",") 
    @cortess = params[:cortes].to_s.split(",") 
    @prods = params[:productos].to_s.split(",") 
end