2008-10-02 11 views
6

W jaki sposób wykonywać operacje usuwania i umieszczania operacji w trybie Rails? Przeczytałem dokumentację i uważałem, że robię wszystko poprawnie, ale nie mogę tego zmusić do działania.Wykonywanie operacji usuwania AJAX w sposób niezawodny w szynach

Na przykład, jeśli chcę usunąć pracownika, utworzę kontroler o nazwie "EmployeesController" i utworzę metodę destroy, aby wykonać usuwanie.

Potem wszedłem do pliku routes.rb i wprowadziłem map.resources :employees, który daje dostęp do funkcji pomocnika URL.

W co chcę zadzwonić operację Ajax z, należy po prostu mieć taką linię:

<%= link_to_remote "Delete", employee_path(@employee), :method => :delete %> 

Po kliknięciu na link, to nadal wysyła operację POST, więc nic nie robi .

Czego mi brakuje lub robię źle?

Odpowiedz

6

Spróbuj

:url => employee_url(@employee) 

IIRC, * _path jest nazwany trasa wygenerowana przez: Dyrektywa zasobów, która zawiera metodę, dzięki nadpisywania swój: metoda =>: usuwanie

4

Z mojego kodu:

<%= link_to_remote "Delete", :url => post_url(post), :method => :delete %> 
0

Wystarczy, że dodasz kilka dodatkowych szczegółów: Pomógł :url => employee_url(@employee) (z zaakceptowanej odpowiedzi). Inną częścią, która mi przeszkadzała, był fakt, że oczekiwałem żądania usunięcia HTTP, ale ciągle otrzymywałem żądania POST z parametrem "_metoda" (automatycznie dodawanym przez szyny), który został ustawiony do usunięcia.

Więc to było wywołanie właściwego działania niszczenia, które udowodniłem, dodając kilka instrukcji debugowania do kontrolera. Tak, mój kod usuwania był nieprawidłowy w kontrolerze, więc tak naprawdę nie został usunięty, gdy myślałem, że tak jest.

-1

Jeśli Twój problem nie jest związany z żądaniem AJAX, musisz dodać odpowiednie tagi JavaScript

Powiązane problemy