【发布时间】:2016-04-19 19:04:48
【问题描述】:
我有这个代码:
@selected_ids = params[:authorization][:contract_number]
@selected_ids.zip(params[:authorization][:contract_number]).each do |id, value|
Authorization.where(contract_number: params[:authorization][:contract_number]).update_all(value_solve: params[:authorization][:value_solve], situation: 2)
end
没有错误,但在我的控制台中生成查询
Processing by RefinancingsController#new as HTML
Parameters: {"utf8"=>"✓", "search_employee_by_cpf"=>"11111111111", "authorization"=>{"value_solve"=>["", "4345", "454", ""], "contract_number"=>["22", "33"]}, "commit"=>"Reserve"}
SQL (344.2ms) UPDATE "authorizations" SET "value_solve" = '---
- ''''
- ''4345''
- ''454''
- ''''
', "situation" = 2 WHERE "authorizations"."contract_number" IN ('22', '33')
SQL (133.1ms) UPDATE "authorizations" SET "value_solve" = '---
- ''''
- ''4345''
- ''454''
- ''''
', "situation" = 2 WHERE "authorizations"."contract_number" IN ('22', '33')
在我的数据库中,每个选中的复选框的值都是重复的。
这个例子是列 value_solve,授权 id 2
---
- ''
- '4345'
- '454'
- ''
列 value_solve,授权 id 3
---
- ''
- '4345'
- '454'
- ''
请,就这个,我该如何解决这个问题并正确保存在数据库中? 我需要这个:
SQL (344.2ms) UPDATE "authorizations" SET "value_solve" = "4345", "situation" = 2 WHERE "authorizations"."contract_number" IN '22'
SQL (133.1ms) UPDATE "authorizations" SET "value_solve" = "454", "situation" = 2 WHERE "authorizations"."contract_number" IN '33'
【问题讨论】:
标签: sql ruby-on-rails ruby ruby-on-rails-4 sql-update