Sql 选中多个复选框时将数组保存在数据库中

Sql 选中多个复选框时将数组保存在数据库中,sql,ruby-on-rails,ruby,ruby-on-rails-4,checkbox,Sql,Ruby On Rails,Ruby,Ruby On Rails 4,Checkbox,我有个大问题!!我想这真的需要数组,当我只检查了一个时,看看我的控制台: {"value_solve"=>["", "", "333", ""], "contract_number"=>["33"]} ----- SQL (317.5ms) UPDATE "authorizations" SET "value_solve" = '', "situation" = 2 WHERE "authorizations"."contract_number" = ? [["contrac

我有个大问题!!我想这真的需要数组,当我只检查了一个时,看看我的控制台:

{"value_solve"=>["", "", "333", ""], "contract_number"=>["33"]}
-----
  SQL (317.5ms)  UPDATE "authorizations" SET "value_solve" = '', "situation" = 2 WHERE "authorizations"."contract_number" = ?  [["contract_number", "33"]]
之后,当我只选中一个时,第一个:

{"value_solve"=>["111", "", "", ""], "contract_number"=>["11"]}
-----
  SQL (317.5ms)  UPDATE "authorizations" SET "value_solve" =  '111 ', "situation" = 2 WHERE "authorizations"."contract_number" = ?  [["contract_number", "11"]]
最后,当我不止一次:

{"contract_number"=>["11", "44"], "value_solve"=>["111", "", "", "444"]}
-----
  SQL (297.7ms)  UPDATE "authorizations" SET "value_solve" = '111', "situation" = 2 WHERE "authorizations"."contract_number" = ?  [["contract_number", "11"]]
  SQL (121.9ms)  UPDATE "authorizations" SET "value_solve" = '', "situation" = 2 WHERE "authorizations"."contract_number" = ?  [["contract_number", "44"]]
这是我的控制器:

@selected_ids = params[:authorization][:contract_number]
  @authorizations = Authorization.where("contract_number in (?)", @selected_ids)
  auth_params = params[:authorization]
  auth_params[:contract_number].zip(auth_params[:value_solve]).each do |contract_number, value_solve|
      Authorization.where(contract_number: contract_number).update_all(value_solve: value_solve, situation: 2)
  end

只需在DB上保存第一个值,如何保存多个值?谢谢

据我所知,您希望id为
44
合同号与
值\u solve==“444”
关联。如果这是正确的,您应该从
值\u solve
数组中删除空格:

auth_params[:contract_number].zip(auth_params[:value_solve].reject(&:blank?))...
现在,
44
正在使用
value\u solve
的第二个元素进行更新,这显然是一个空字符串


有关更多详细信息,请参阅。

您可以在此处检查rails中以数组形式发送参数:
http://stackoverflow.com/a/16555975/3425913
最后!!!我爱你,伙计D尝试解决此问题的时间超过1周!!!非常感谢你,伙计!!!