está dando este error
:en is not a valid locale
nessa linha "
<%= f.label "nome" %>
está dando este error
:en is not a valid locale
nessa linha "
<%= f.label "nome" %>
Oi Thiago, tudo bem? Cola a mensagem de erro completa por favor? O erro exatamente não me parece estar nessa linha.
Tudo bem, e contigo ? No momento tenho que arrumar esse bug logo, que não ta deixando salvar produto se não estiver validado. Que seria onde mostraria o texto traduzido
Showing D:/Alura/rails4/lojadecamiseta/app/views/produtos/new.html.erb where line #19 raised:
undefined method `map' for nil:NilClass
Extracted source (around line #19):
17
18
19
20
21
22
<div class="form-group">
<%= f.label :departamento%>
<%= f.collection_select :departamento_id, @departamentos, :id, :nome, {}, class: "form-control"%>
</div>
<div class="form-inline">
Rails.root: D:/Alura/rails4/lojadecamiseta
Application Trace | Framework Trace | Full Trace
app/views/produtos/new.html.erb:19:in `block in _app_views_produtos_new_html_erb__890146491_74098788'
app/views/produtos/new.html.erb:8:in `_app_views_produtos_new_html_erb__890146491_74098788'
app/controllers/produtos_controller.rb:16:in `create'
Request
Parameters:
{"utf8"=>"✓",
"authenticity_token"=>"K+Fe8XfMXeiL7zRkdg+7TXV6NDE/Gc7gpyX2V0xFA3Xum/c8Aytk8yZPabckZY8hsHHh/qrA55Oc/Jvmq5+q/Q==",
"produto"=>{"nome"=>"", "descricao"=>"", "departamento_id"=>"1", "quantidade"=>"", "preco"=>""},
"commit"=>"Salvar Produto"}
Thiago, esse erro acontece logo após você submeter o formulário, é isso? Ou assim que abre o formulário? Cola aqui o seu produtos/new.html.erb pra gente ver?
Ao enviar o formulario
<% @produto.errors.full_messages.each do |m|%>
<div class="alert alert-danger" role="alert"><%=m%></div>
<%end%>
<%= form_for @produto 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-group">
<%= f.label :departamento%>
<%= f.collection_select :departamento_id, @departamentos, :id, :nome, {}, class: "form-control"%>
</div>
<div class="form-inline">
<%= f.label :quantidade%>
<%= f.number_field :quantidade, step: 1, class: "form-control"%>
<%= f.label :preco%>
<%= f.number_field :preco, class: "form-control"%>
<%= f.submit "Salvar Produto", class: "btn btn-primary"%>
</div>
<% end %>
<%= link_to "LISTAGEM", root_url%>
insira seu código aqui
MODEL
class Produto < ApplicationRecord
validates :quantidade, presence: true
validates :nome, length: {minimum: 5}
belongs_to :departamento
end
E o seu Controller? O erro diz que houve um erro ao usar o map em objeto que não foi definido (nilClass = classe não definida) eu estou achando que é a questão dos departamentos. Essa classe existe? O objeto departamentos me parece que está voltando como nulo. Aparecem os departamentos no formulário corretamente?