2008-10-02 3 views
6

레일에서 삭제 및 작업을 어떻게하면 원활하게 수행합니까? 나는 문서를 읽고 모든 것을 제대로하고 있다고 생각했지만, 제대로 작동하지 않는 것 같습니다.레일에서 AJAX 삭제 작업을 원활하게 수행

예를 들어 직원을 삭제하려면 "EmployeesController"라는 컨트롤러를 만들고 삭제 방법을 만들어 삭제를 수행하십시오.

그런 다음 routes.rb 파일에 들어가서 map.resources :employees을 입력하면 URL 도우미 기능에 액세스 할 수 있습니다. 그것은 아무것도하지 않는다, 그래서

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

내가 링크를 클릭

, 그것은 여전히 ​​POST 작업을 보내고있다 :

어떤에서 난 그냥 같은 라인을 가져야에서 AJAX 작업을 호출 할 .

무엇이 잘못되었거나 잘못 되었습니까? 따라서 귀하의 덮어 쓰기 방법을 포함 자원 지시자 : : 방법 => : 내 코드에서

답변

6

:url => employee_url(@employee) 

IIRC, * _path가에 의해 생성 된 이름이 경로가되어보십시오

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

몇 가지 추가 세부 정보를 추가하기 만하면 : :url => employee_url(@employee)을 사용하면 (수락 된 답변에서) 도움이되었습니다. 나를 괴롭히는 다른 부분은 내가 HTTP 삭제 요청을 기다리고 있다는 사실 이었지만, 삭제하도록 설정된 "_method"매개 변수 (POST에 의해 자동으로 추가됨)가 계속 POST 요청을 받았습니다.

그래서 컨트롤러에 몇 가지 디버그 문을 추가하여 적절한 destroy 액션을 호출했습니다. 예, 컨트롤러에서 삭제 코드가 잘못되어 있으므로 실제로 삭제 한 것이 아닙니다.

-1

문제가 AJAX 요청을하지 않는 경우 적절한 자바 스크립트 태그를 추가해야합니다.

관련 문제