Cesar de Paula Souza
unread,Jun 6, 2023, 2:03:33 PM6/6/23Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
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?