Após ver a aula de atualização de produtos (segunda aula da 3a parte) recriei o que foi dado, mas obtive um problema. Ao tentar alterar um produto sou redirecionado para o formulário de "criar novo produto", mas ele está em branco, deveria contar as informações do produto, nome, descrição, preço, etc. Mas fica completamente em branco, como se eu fosse cadastrar um novo produto. No entanto a URL é a esperada:
http://localhost:3000/produtos/:id/edit
Meu arquivo de rotas está assim:
Rails.application.routes.draw do
resources :departamentos
get "produtos/busca", to: "produtos#busca", as: :busca_produto
resources :produtos, only: [:new, :create, :destroy, :edit, :update]
root to: "produtos#index"
end
Meu controller de produtos está assim (a parte de edição e update):
def edit
id = params[:id]
@produto = Produto.find(id)
@departamentos = Departamento.all
render :new
end
def update
id = params[:id]
@produto = Produto.find(id)
valores = params.require(:produto).permit(:nome, :descricao, :preco, :quantidade, :departamento_id)
if @produto.update valores
flash[:notice] = "Produto atualizado com sucesso!"
redirect_to root_url
else
@departamentos = Departamento.all
render :new
end
end