如何对集合的多个对象使用Rails更新方法

时间:2019-07-08 17:17:51

标签: ruby ruby-on-rails-3 rails-activerecord

我正在尝试使用带有更新集合对象的rails update方法更新多个对象,如下代码:(无法真正找到集合方法)

def update

      @reiew = Review.find(reivew_params)
       review.update!(reivew_params)

        if @reivews.update(reivew_params)
        respond_to do |format|
        format.html { redirect_to reivew_path}
      end
    else
        respond_to do |format|
        format.html { notice: 'saved errors'}
      end
    end
  end

1 个答案:

答案 0 :(得分:0)

在“现代” Rails版本中(显然从3.0开始),您可以使用

update_allhttps://api.rubyonrails.org/classes/ActiveRecord/Relation.html#method-i-update_all

像这样:

Review.where(id: [2,5,10]).update_all(reviews_params)

。该代码将更新ID为2、5和10的Reviews