1
resposta

Erro ao tentar alterar um produto

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
1 resposta

Fala Ricardo, como vai?

Muito obrigado por compartilhar seu código. Pode por gentileza, compartilhar o código da sua index?

Assim consigo te dar um feedback direcionado.

:)