2009-12-23 6 views
1

사용자가 페이지를 떠날 때 내 레일 컨트롤러에서 동작을 트리거하고 싶습니다. 나는 window.beforeunload 이벤트에 빠졌지 만 뷰에서 내 컨트롤러의 함수를 호출 할 수있는 방법을 모르겠습니다. 다음과 같이 입력 해주세요 :자바 스크립트에서 레일스 함수 호출하기

 


    //function that checks if someone leaves the page 
    //if so, send mail to admin with unconfirmed reservation 
function goodbye(e) { 
    //:action => do_something 

} 
window.onbeforeunload= goodbye; 


 

나를 도와 줄 수 있습니까? 감사합니다.

답변

4

여기 AJAX 요청이 필요한 것 같습니다. remote_function은 여기에 편리 할 수 ​​있습니다. 예 :

function goodbye(e) { 
    <%= remote_function :url => { :action => "do_something" } %> 
} 
+1

실제로 트릭을 수행합니다. 하지만 여분의 문제. 다른 페이지로 가면 내 메소드가 호출되지만 뷰가 존재하지 않으므로 오류가 발생합니다. 하지만 내가 원하는 것은 그 행동을 한 다음 클릭 된 행동으로갑니다. 이 문제에 대한 해결책은 무엇입니까? – Ignace

관련 문제