Alterar diversos registros de uma vez

78 views
Skip to first unread message

Cesar de Paula Souza

unread,
Jun 6, 2023, 2:03:33 PM6/6/23
to rails-br
 Em rails, eu preciso atualizar n registros de uma vez na mesma tela (cada registro tem seu campo data para alterar. Para fazer isso, estou tentando usando essa def

 

    def marcado
    set_previsao
    confs = @previsao.previtems.where(status: "Confirmado").index_by{|previtem| previtem[:id]}
     confs.each do |id, attributes|
      previtem = @previsao.previtems.find(id)
      previtem.update(attributes)
    end

Só que fazendo isso, ele volta essa mensagem de erro:

    ArgumentError: When assigning attributes, you must pass a hash as an argument.

Desde que a variável confs já é um hash.

Além disso, se eu fizer desse modo:

    confs = @previsao.previtems.where(status: "Confirmado").pluck(:id).map { |id| [id, {status: "Marcado", data_marcacao: params[:data_marcacao]}] }.to_h

Ele coloca o valor do ultimo registro em todos os registros, sem considerar os demais.

Onde estou errando?
Reply all
Reply to author
Forward
0 new messages