在条件中使用Update_all

时间:2017-12-05 14:09:38

标签: ruby-on-rails ruby update-all

我试图更新数组的所有元素,但我发现了这个错误

  

未定义的方法`update_all'为......

@group.questions.where(user_id: current_user.id).last(@post.question_counter).update_all(post_id: @post.id)

当我尝试更新_all时没有像:

这样的条件
@group.questions.update_all(post_id: @post.id)

该方法正在运行。你有解决方案来运行这种方法吗?我可以做这样的事情来解决它,但我认为并不是很优雅。高性能

@questions = @group.questions.where(user_id: current_user.id).last(@post.question_counter)
@questions.each do |question|
  question.update(post_id: @post.id)
end 

1 个答案:

答案 0 :(得分:5)

尝试类似

的内容
@group.questions.where(user_id: current_user.id).
    order('questions.id DESC').limit(@post.question_counter).
    update_all(post_id: @post.id)