Я заполняю массив с несколькими элементами (некоторые из них равны, вот чего я хочу). Мой код-то вроде этого:Резервный массив с дублирующимися элементами
def create
@order = Order.create()
@order.table = Table.find_by(:number => params['table'][0])
@products ||= []
@qtd = []
Product.all.each do |product|
params['order'].each_pair do |ordered|
if(product.id.to_s == ordered.first)
for i in 0..ordered.second[0].to_i
@order.products << product
@order.save
end
end
end
end
binding.pry #here the @order.products is the way I want to
if @order.save
flash[:success] = "Pedido criado com sucesso."
redirect_to tables_path
else
flash[:danger] = "Erro ao criar pedido."
render :new
end
end
Но когда я иду на рельсы консоли и сделать Order.last.products он dosen't показать мне де дублированные элементы, как я сэкономил на моем контроллере. Что происходит?
Первое решение работает так, как я хотел! Спасибо :) –