Bom dia.
Quando envio o formulário clicando no botão ele permanece na mesma página e nem reinicia os valores, no entanto os dados são salvos no formulário e aparecem na página inicial, na tabela. Alguém sabe o motivo?
routes.rb
Rails.application.routes.draw do
post "/produtos" => "produtos#create"
get "/produtos/new" => "produtos#new"
root "produtos#index"
end
index.html.erb
<html>
<body>
<%= nav_bar brand: "Arkhadia", brand_link: root_url %>
<table class = "table" table-bordered>
<thead>
<tr>
<th>Nome</th>
<th>Descrição</th>
<th>Preço</th>
<th>Quantidade</th>
</tr>
</thead>
<tbody>
<% @produtos_por_nome.each do |produto| %>
<tr>
<td><%= produto.nome %></td>
<td><%= produto.descricao %></td>
<td><%= produto.preco %></td>
<td><%= produto.quantidade %></td>
</tr>
<%end%>
</tbody>
</table>
<table class = "table" table-bordered>
<thead>
<tr>
<th>Nome</th>
<th>Descrição</th>
<th>Preço</th>
<th>Quantidade</th>
</tr>
</thead>
<tbody>
<% @produtos_por_preco.each do |produto| %>
<tr>
<td><%= produto.nome %></td>
<td><%= produto.descricao %></td>
<td><%= produto.preco %></td>
<td><%= produto.quantidade %></td>
</tr>
<%end%>
</tbody>
</table>
</body>
</html>
produtos_controller.rb
class ProdutosController < ApplicationController
def index
@produtos_por_nome = Produto.order(:nome).limit 5
@produtos_por_preco = Produto.order(:preco).limit 2
end
def create
valores = params.require(:produto).permit!
produto = Produto.create valores
end
end
new.html.erb
<html>
<body>
<%= form_for Produto.new do |f| %>
Nome
<input type="text" name="produto[nome]" /><br/>
Descrição
<textarea name="produto[descricao]"></textarea><br/>
Preço
<input type="number" name="produto[preco]" /><br/>
Quantidade
<input type="number" name="produto[quantidade]" /><br/>
<button type="submit">Criar</button>
<%end%>
</body>
</html>
create.html.erb
<html>
Criado!
</html>