ユーザーがページを離れたときにコントローラーのメソッドを呼び出したいのですが。理想的には、いくつかのパラメーターも渡したいと思います。
これは私が持っているものです。パラメータを適切に処理していて、leaveメソッドが呼び出されないかどうかわからない。
'show.html.erb'で
<script language="javascript">
$(window).bind('beforeunload', function() {
$.get('/leave?foo='+<%= @bar %>, null, null, null)
});
</script>
'routes.rb'で
match '/leave' to: 'posts#leave'
'posts_controller.rb'で
def leave
puts params[:bar]
end
注:link_to
直接を配置すると正常に/leave
機能し、jQuery$.get
をに置き換えるreturn true;
と、ユーザーが離れようとするとダイアログがスローされます。