在条件下使用 Update_all
Use Update_all with conditions
我正在尝试更新数组的所有元素,但我遇到了这个错误
undefined method `update_all' for ...
@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
试试
@group.questions.where(user_id: current_user.id).
order('questions.id DESC').limit(@post.question_counter).
update_all(post_id: @post.id)
我正在尝试更新数组的所有元素,但我遇到了这个错误
undefined method `update_all' for ...
@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
试试
@group.questions.where(user_id: current_user.id).
order('questions.id DESC').limit(@post.question_counter).
update_all(post_id: @post.id)