Вы можете отслеживать через AJAX, а затем перенаправить на ссылку, все изящно ухудшается без отслеживания.
Предполагается, что jQuery:
# view
<%= link_to 'Foo', 'whatever', :'data-trackable' => 'id-to-log' %>
# js
$('a[data-trackable]').click(function(){
$.post('/clicks', { id: $(this).data('trackable') }, function(){
window.location = $(this).attr('href');
});
return false;
});
Я думаю, что, возможно, я усердно работаю здесь, но с тех пор, как я это сделал, прошло много времени, и я не могу вспомнить, как блокировать, пока запрос AJAX не отправит, а затем не вернется. Не стесняйтесь редактировать, если знаете.