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|%>
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