Estou recebendo o seguinte erro:
NoMethodError in Produtos#new
Showing C:/Sites/relatorioturno/app/views/produtos/new.html.erb where line #1 raised:
undefined method `errors' for nil:NilClass
Rails.root: C:/Sites/relatorioturno
Application Trace | Framework Trace | Full Trace
app/views/produtos/new.html.erb:1:in `_app_views_produtos_new_html_erb___132319139_76930896'
Request
Parameters:
None
Toggle session dump
Toggle env dump
Response
Headers:
None
O meu Controller é esse:
class ProdutosController < ApplicationController
def index
@produtos_por_nome = Produto.order(:nome).limit 5
@produtos_por_preco = Produto.order(:preco).limit 2
end
def busca
@nome_a_buscar = params[:nome]
@produtos = Produto.where "nome like ?", "%#{@nome_a_buscar}%"
end
def create
valores = params.require(:produto).permit :nome, :preco, :descricao, :quantidade
@produto = Produto.new valores
if @produto.save
redirect_to root_url
else
render :new
end
end
def destroy
id = params[:id]
Produto.destroy id
redirect_to root_url
end
end
E o meu New.html.erb:
<% @produto.errors.full_messages.each do |message| %>
<%= message %>
<% end %>
<%= form_for Produto.new do |f| %>
<div class="form-group">
<%= f.label :nome %>
<%= f.text_field :nome, class: "form-control" %>
</div>
<div class="form-group">
<%= f.label :descricao %>
<%= f.text_area :descricao, class: "form-control", rows: 4 %>
</div>
<div class="form-inline">
<div class="form-group">
<%= f.label :quantidade %>
<%= f.number_field :quantidade, step: 1, class: "form-control" %>
</div>
<div class="form-group">
<%= f.label :preco %>
<%= f.number_field :preco, step: 0.01, class: "form-control" %>
</div>
<%= f.submit "Criar o Produto", class: "btn btn-primary" %>
</div>
<% end %>
</form>
</body>
</html>
O que está errado?