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|%>
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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|%>
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