我试图更新数组的所有元素,但我发现了这个错误
未定义的方法`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
答案 0 :(得分:5)
尝试类似
的内容@group.questions.where(user_id: current_user.id).
order('questions.id DESC').limit(@post.question_counter).
update_all(post_id: @post.id)