2016-03-20 14 views
0

Ich versuche, eine Schaltfläche zu erstellen, die alle abgelaufenen Datensätze aus der Datenbank löscht, aber nicht genau, wie dies zu erreichen ist. Ich denke, ich habe den Controller Teil richtig eingerichtet, aber ich bin nicht sicher, was in den Routen und den Code für die Schaltfläche selbst, um die gewünschten Datensätze zu löschen. Dies ist, was ich in meinem Controller habe:Löschen mehrerer Datensätze basierend auf bestimmten Bedingungen in Schienen 4

link_to "Delete All", some_route_to_delete_expired_path, remote: true, method: :delete

in Ihre routes.rb:

 def delete_expired 
     @expired_sales = Sale.where('offer_end <= ?', Date.today) 
     @expired_sales.destroy_all 
     redirect_to root_path, notice: 'Successfully Deleted Sales.' 
     end 

Antwort

1

ich mit folgendem eine Ajax-Taste irgendwo auf der Seite platzieren würde delete 'some_controller_name/delete_expired

Und entfernen Sie die redirect_to Zeile, wie Sie nichts tun müssen, wenn Sie dieses Verfahren aufrufen d über Ajax.

+0

Müsste ich in diesem Fall irgendetwas auf Routen tun? –

+0

'DELETE 'controller_name/delete_expired'' – meshpi

+0

Ich bekomme diesen Fehler jetzt: undefinierte Methode' DELETE' für #

Verwandte Themen