Como faço para criar um formulário que entradas vários itens de um modelo?
-
18-09-2019 - |
Pergunta
Eu tenho um simples ponto de aplicação venda escrito em Ruby e Rails, e hobo.
Originalmente destinado a ser para apenas um produto no momento, agora o cliente quer adicionar vários produtos para o modelo de venda
Além de que eu estou usando marcas para categorizar produtos e na minha forma nova venda i usar ajax, a fim de preencher um método do produto selecione depois de selecionar a marca em outro menu de seleção.
Então, o que eu quero é usar meu sistema atual e apenas mudar a minha nova forma venda se possivelmente para adicionar vários produtos para a venda
Solução 3
i teve para criar um modelo de carrinho como um recipiente para produtos, em seguida, continuar a usar o meu venda com o carrinho, e de lá ainda mais .. validações e outras coisas tem que ser reprogramado
Outras dicas
Eu acho que você tem uma relação has_one
entre a venda e um produto.
A idéia seria mudar essa relação a um has_and_belongs_to_many .
Assim, em seu banco de dados, você pode ter muitos produtos para uma venda e muitas vendas para um produto.
E para a implementação, você pode usar atributos aninhados para exibir os produtos para uma venda e adicionar ou remover alguns.
O que você provavelmente está procurando para alterar os valores que são destacados de forma de um produto para muitos. Antes de você provavelmente postou algo como isto:
= 123 product_id product_qty = 1
e agora você quer postar algo como isto
product_id [0] = 123 product_qty [0] = 1 product_id [1] = 456 product_qty [1] = 7
ou ainda melhor
produto [123] = 1 .qty do produto [456] .qty = 7
Em seu formulário, você vai precisar para criar estas variáveis ??produtos e torná-los diferentes. Em seguida, publicá-las para a mesma forma que você está usando, mas olhar para os logs e ver como rails está mapeando-os para o objeto params. Então, em seu controlador-nos que o mapeamento para retirar os vários objetos.
Eu aprendi uma tonelada a partir dos moldes de tela Railscast. Eles não demorou muito, e ver alguém resolver problemas em <10 minutos é muito divertido. Tente este http://railscasts.com/episodes/73-complex-forms -Parte-1