Prześlij formularz, aby wykonać akcję UPDATE z indeksu
Próbuję stworzyć funkcję, która pozwoli użytkownikom edytować rekord klienta bezpośrednio ze strony indeksu. Gdy użytkownik kliknie przycisk „Edytuj”, wyświetlany jest częściowy obraz, który zastępuje elementy wejściowymi polami tekstowymi. Ale po kliknięciu przycisku „Aktualizuj klienta” pojawia się błąd:
"No route matches [POST] "/clients/27"
mogę
Stwórz
nowi klienci i
zniszczyć
klienci bezpośrednio z indeksu ... co robię źle z akcją odświeżania?
Częściowy:
<tr id="test">
<%= form_for Client.find(27), :method => :PUT do |f| %>
<td class="input">
<%= f.text_field :name, :value => "Test" %>
</td>
<td class="input">
<%= f.text_field :company %>
</td>
<td class="input">
<%= f.text_field :email %>
</td>
<td class="grayedOut"></td>
<td class="actions">
<%= f.submit "Confirm edit" %>
</td>
<% end %>
</tr>
Plik tras.rb:
resources :clients do
resources :projects do
resources :items
end
end
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
1 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Nadal nie wiem, co się dzieje. Moim rozwiązaniem tego problemu jest użycie elementów div zamiast tabel.
EDYTUJ: OK, więc zbadałem ten temat trochę dokładniej i stwierdziłem, że „formularze” nie są prawidłowymi elementami potomnymi lub
& < tr & > . Aby rozwiązać ten problem, umieściłem tag[code]& <% = form_for% & >
wewnątrz pierwszego , a tag - wewnątrz ostatniego . Teraz działa idealnie! Tak wygląda teraz moja cząstka: [/code]