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