Используйте Update_all с условиями

Я пытаюсь обновить все элементы массива, но у меня есть эта ошибка

неопределенный метод update_all для...

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

Хотя, когда я пытаюсь update_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 ответ

Решение

Попробуйте что-то вроде

@group.questions.where(user_id: current_user.id).
    order('questions.id DESC').limit(@post.question_counter).
    update_all(post_id: @post.id)
Другие вопросы по тегам