Не удалось найти авторизацию с 'id'=0 с использованием each_with_index
У меня есть эта ошибка, и это мой код:
params[:authorization][:contract_ids].each_with_index do |index, id|
Authorization.find(id).update_column(value_solve: params[:authorization][:value_solve])
end
Это началось с 0, и авторизация имеет идентификатор 1 и вперед. Как решить это? Я перепробовал много вещей, но ничего не получилось =/
2 ответа
Решение
Ответ таков:
auth_params = params[:authorization]
auth_params[:contract_number].zip(auth_params[:value_solve].reject(&:blank?)).each do |contract_number, value_solve|
Authorization.where(contract_number: contract_number).update_all(value_solve: value_solve, situation: 2)
end
: D
Я вижу, вы даже не используете index
просто иди прямо с .each
зацикливание.
Попробуй это:
params[:authorization][:contract_ids].each do |id|
Authorization.find(id).update_column(value_solve: params[:authorization][:value_solve])
end