Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Criar novo produto

Ola

Nao ficou claro como a seguinte estrutura se comunica com metodo create do products_controller e nem como a requisicao POST eh feita a partir da submissao do formulario...

<%= form_for Product.new do |form|%>
1 resposta
solução!

Oi, Bruno, tudo bom?

O form_for é um método que leva bastante em consideração o objeto no argumento. Como o Rails é um framework que segue muito uma convenção ele avalia que o objeto passado como parâmetro não está persistido no banco (já que não tem id). Então o Rails "entende" que você quer criar um novo objeto e pela convenção isso seria pelo método create do ProductsController.

Se você quisesse mandar para outro lugar saindo assim da convenção você deveria passar mais parâmetros como para onde seria:

<%= form_for Product.new, algum_outro_caminho_path do |form| %>

Quando você for fazer o Update por exemplo isso também vai valer porque ele iria avaliar que o objeto já está persistindo "entendendo" então que você quer atualizá-lo e mandando para o método da convenção que é o update