2
respostas

Metodo edit/update não está fncionando

Boa tarde, O meu método "edit" está funcionando 50% o que acontece, chego na url 1/edit, porem, não consigo carregar as informações e quando clico em atualizar ele chama o método create. Problemas: 1ª Não carrega as informações nos inputs 2ª Se eu preencher o input e clicar em atualizar ele chama o método create.

Obs. Produto.find(id) está funcionando perfeitamente, para teste imprime o valor no console e nata tela de atualização através do "@produto.nome", consigo imprimir o nome do produto qual desejo alterar.

2 respostas

Oi Rafael, você tem que postar seu código aqui pra gente dar uma olhada.

VIEW INDEX

<tr>
    <td> <%= index.id %> </td>
    <td> <%= index.department %> </td>
    <td><%= link_to "Editar", edit_department_path(index), class:"btn btn-primary" %></td>

    <td><%= button_to "Excluir",index, method: :delete, class:"btn btn-danger", data: { confirm: "Tem certeza que deseja excluir o departamento \"#{index.department}\"?"} %></td>
</tr>

VIEW EDIT

<h1 class="page-header">Atualizar Registro "<%= @department.department %>"</h1>

<%= form_for Department.new do |f| %>
<div class="form-group">
    <%= f.label :departamento %>
    <%= f.text_field :department, class:"form-control" %>
</div>

<div class="form-group">
    <% if can? :create, Department%>
    <%= f.submit_tag "Atulizar", class:"btn btn-primary" %>
    <% end %>
    <%= link_to "Voltar", departments_path, class:"btn btn-primary" %>
</div>
<% end %>

CONTROLLER

    def new
        @department = Department.new
    end

    def edit
        id = params[:id]
        @department = Department.find(id)
        render :edit
    end

    def update
       puts '###########'
       puts "Método update iniciado com sucesso!"
       puts '###########'
    redirect_to departments_path
    end
`