我试图创建一个按钮,该按钮将从数据库中删除所有过期的记录,但不确定如何实现这一点。我想我正确设置了控制器部分,但我不确定在路由中放入什么以及按钮本身的代码以删除所需的记录。这是我的控制器中的内容:
def delete_expired
@expired_sales = Sale.where('offer_end <= ?', Date.today)
@expired_sales.destroy_all
redirect_to root_path, notice: 'Successfully Deleted Sales.'
end
我会在
站点上的某个地方放置一个ajax按钮,如下所示:
link_to "Delete All", some_route_to_delete_expired_path, remote: true, method: :delete
添加到您的路线.rb:
delete 'some_controller_name/delete_expired
并删除redirect_to
行,因为当您通过 ajax 调用此方法时,您无需执行任何操作。