使用 each_with_index 找不到 'id'=0 的授权

Couldn't find Authorization with 'id'=0 using 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 开始,授权有 id 1 和转发。这个怎么解决我尝试了很多东西,但没有任何效果 =/

我明白了,你甚至没有使用 index,直接使用 .each 循环。

试试这个:

 params[:authorization][:contract_ids].each do |id|
      Authorization.find(id).update_column(value_solve: params[:authorization][:value_solve])
 end

答案是:

      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