Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Ruby on Rails - undefined method `nome' for nil:NilClass

Ei pessoal, não estou entendendo por quê esse erro está acontecendo. Fora que fiz exatamente o que foi feito no curso. Alguém teria alguma ideia de onde está vindo o erro?

Imagens no link: https://drive.google.com/open?id=1kFkP4dFeV9YlrbQ4nzfPKCAz-or0rEOa

2 respostas
solução!

Oi, Bruna, tudo bem?

Dá uma olhada no erro 'Método nome não definido para NilClass', certo?

Isso significa que o objeto onde foi chamado o método nome é nulo. Como ele foi chamado no departamento, esse objeto deve ser o que está apresentando o erro em questão.

Esse é um produto que existia anteriormente do produto ter um departamento? Se não for pode estar tendo algum problema na hora de criar produtos.

Para resolver você pode conferir isso no banco.

Use o comando rails console no terminal para acessar o console da aplicação, em seguida faça os passos:

produto = Produto.find(id do produto em questão)

Se o Departamento você vai ver no terminal.

Então você pode atualizar esse produto com algum departamento:

produto.departamento = Departamento.last
produto.save

Aí é só sair com o comando exit e verificar se agora tudo funciona. Repassei os passos que seguiria para resolver esse problema pra se for outro caso você mesma identificar e resolver, mas qualquer coisa estamos por aqui.

Foi difícil mas encontrei! Era mesmo porque tinha produtos que não pertenciam a nenhum departamento ainda, então o Ruby indica que o departamento.nome é nulo praquele objeto né? Só pra testar eu apaguei alguns departamentos e o erro ocorreu novamente até eu delegar novos departamentos pros produtos. Quando vi que o problema não tava no banco fui fazendo pelo localhost e funcionou, espero que não dê problema. Enfim, muito massa, valeu pela ajuda!