2016-08-01 5 views
0

Ich habe ein dynamisches Array in der Ansicht meiner Rails App und ich möchte es exportieren .xls auf Knopfdruck mit der Kalkulationstabelle gem. Die Schaltfläche ist ein Link zu einer Download-Aktion. Das Array ist jedoch lang und die URI zu lang.Wie kann ich einem Post-Anfragetext Parameter hinzufügen?

Statt auf die Abfragezeichenfolgeflag der Post-Anforderung des Hinzufügens,

<a href="<%= controller_action_url(param1: array) %>" data-method="post" remote="true"> 
    Download 
</a> 

Ich möchte params an den Körper hinzuzufügen. Kann ich das irgendwie machen? Bisher habe ich die Formularmethode ausprobiert ... aber die send_data sendet nicht wirklich die .xls-Datei.

Antwort

1

Sie müssen es als ein Formular senden. so was.

<%= form_tag controller_action_url, remote: true, method: :post do %> 
    <%= hidden_field_tag(:params_1, "PARAMS VALUE") %> 
    <%= submit_tag("Download") %> 
<% end %> 

Dieser Link ist immer hilfreich. http://guides.rubyonrails.org/form_helpers.html#a-generic-search-form

Für den AJAX Teil Danke http://guides.rubyonrails.org/form_helpers.html#dealing-with-ajax

+0

aber ich habe Probleme mit dem 'send_data' wenn ich die Formular-Methode verwenden. Weißt du möglicherweise, warum die .xls nicht heruntergeladen wird? –

+0

Ich habe es herausgefunden! Danke, @ Nzajt! Für jeden, der dies zum Arbeiten braucht. Entferne das 'remote: true' vom obigen Beispiel. –

Verwandte Themen