Используйте 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)