根据rails 4中的特定条件删除多个记录

时间:2016-03-20 13:11:10

标签: ruby-on-rails

我试图创建一个按钮,删除数据库中所有过期的记录,但不确定如何实现此目的。我想我已经正确设置了控制器部分,但是我不知道在路由中放入什么以及按钮本身的代码来删除所需的记录。这就是我在我的控制器中所拥有的:

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

1 个答案:

答案 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调用此方法时不需要执行任何操作。