In meiner Rails 4.2 app Ich habe eine index
Aktion, die alle Rechnungen des Benutzers auflistet, durch Suchparameter in der URL gefiltert:Wie übergeben Sie GET-Parameter in Ruby on Rails an die nächste Controller-Aktion?
class InvoicesController < ApplicationController
def index
@invoices = current_user.invoices.search(params)
respond_to do |format|
format.html do
@title = "Invoices"
...
end
format.csv do
headers['Content-Disposition'] = "attachment; filename=\"#{invoices_filename}.csv\""
end
format.xls do
headers['Content-Disposition'] = "attachment; filename=\"#{invoices_filename}.xls\""
end
end
end
...
end
Das funktioniert gut. Der Benutzer kann seine Rechnungen nach verschiedenen Parametern filtern und die aufgeführten Rechnungen entsprechend anpassen.
Die Probleme beginnen, wenn der Benutzer diese genauen Rechnungen im XLS- oder CSV-Format herunterladen möchte. Ich habe einen Link für die auf index.html.erb
:
<%= link_to "Download invoices", invoices_path(:format => "xls") %>
aber es lädt alle Rechnungen, nicht nur die, die der Benutzer vorher herausgefiltert.
Gibt es eine Möglichkeit, die Suchparameter an die nächste Aktion oder vielleicht eine elegantere Lösung alle zusammen zu übergeben?
Danke für jede Hilfe.
Das ist es. Vielen Dank! – Tintin81