【问题标题】:How do I delete a range (hash) in Rails Console [duplicate]如何在 Rails 控制台中删除范围(哈希)[重复]
【发布时间】:2017-03-06 07:16:25
【问题描述】:

Rails 控制台

q=Article.last(3)
q.删除

wrong number of arguments (0 for 1) 

q.destroy

NoMethodError: undefined method `destroy' for #<Array:0x0000000901b6d0>

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    您可以使用destroy_all

    q = Article.order(id: :desc).limit(3)
    q.destroy_all
    

    或者用你的方法

    q = Article.last(3) 
    q.map(&:destroy)
    # or
    Article.where(id: q.map(&:id)).destroy_all
    

    您也可以将destroy_all 链接到where

    Article.where(some_condition).destroy_all
    

    【讨论】:

      【解决方案2】:

      试试

      Article.destroy_all(id: q.map(&:id))
      

      Article.destroy q.map{ |a| a.id }
      

      【讨论】:

        猜你喜欢
        • 2023-04-09
        • 1970-01-01
        • 2018-07-27
        • 1970-01-01
        • 1970-01-01
        • 2015-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多