Ich habe eine Sicht, wodurch eine Liste von Diensten angezeigt wird. Innerhalb dieser Ansicht gibt es Sortierfunktionen wie Schaltflächen oben, die angeklickt werden können, um nur Datensätze anzuzeigen, die dieser Option entsprechen. Wenn Sie beispielsweise auf "Genehmigt" klicken, werden nur genehmigte Dienste angezeigt. Ich habe auch Tabellenspalten, die zum Sortieren anklickbar sind. So können Sie beispielsweise auf das erstellte Datum klicken, und die Tabelle zeigt die Datensätze aufsteigend oder absteigend nach Datum an.Sortieren und resort Datensätze mit der ersten Art noch angewendet
def index
@my_campaigns = Campaign.active.where(:operator_id => current_user.operator_id).joins(:partner).where("partners.deleted_at IS ?", nil).where("partners.parent_id NOT IN (?) OR partners.parent_id is null", @sla_test_ids)
@campaigns = @my_campaigns
if params[:search_link]
@campaigns = @campaigns.where(:status => params[:search_link])
end
if params[:search]
@campaigns = @campaigns.where("campaigns.name ILIKE ? OR partners.company_name ILIKE ?", "%#{params[:search]}%", "%#{params[:search]}%")
end
if params[:sort]
@campaigns = @campaigns.order(sort_column + " " + sort_direction)
else
@campaigns = @campaigns
end
if params[:page] == "all"
@campaigns = @campaigns.order('campaigns.id DESC').page(1).per(@campaigns.count) # you can alhardcod' it
else
@campaigns = @campaigns.order('campaigns.id DESC').page(params[:page]||1)
end
end
Mein Problem ist, dass sagen, wenn ich die genehmigte Taste und nur zugelassene Datensätze ausgewählt gezeigt wurden, wenn ich nach Datum sortieren, so wäre es die Datenbank erneut abfragen und alle Datensätze zurück, anstatt nur genehmigt Aufzeichnungen.
Kann jemand beraten, wie ich die neuen Parameter mit den Parametern kombinieren kann, die bereits auf die Ansicht angewendet werden.
Sie müssten die vorhandenen Parameter in den Link eingeben. Wenn Sie also auf den Link klicken, stehen Ihnen diese Parameter zur Verfügung. –
Statt 'if ... elseif', tun Sie zwei' if's. Wenn a: search_link bereitgestellt wird, führe den Aufruf wo aus. Wenn a: sort angegeben ist, rufen Sie die Reihenfolge auf. – Leito
@ j-dexx Wie übergeben Sie die vorhandenen Parameter in der Verknüpfung? – EamonnMcElroy