2011-09-14 120 views
4

我想跟蹤用戶點擊的最後一個「link_to」。我已經找到了一些關於如何做到這一點的一般想法,但我沒有任何運氣讓它工作。
通常,我有一個索引列表,並試圖將每行上的link_to指向控制器操作,該操作會將:id保存到cookie中,並將數據庫中的用戶記錄重定向到實際的外部鏈接。如何跟蹤點擊鏈接

林想知道是否有比使用「link_to」更好的方法。

這可能是一個相當基本的問題,但我腦殘! 感謝任何幫助!

回答

4

您可以通過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請求並提交然後返回。如果您知道,請隨時編輯。

+0

謝謝科裏,讓我看看我是否明白;是「無論」你鏈接到的URL?那麼js的「可追蹤數據」會跟蹤? – SteveO7

+0

排序:這是一個具有數據可跟蹤屬性的正常鏈接,如'Foo'。 jQuery選擇器將POST ajax請求綁定到任何具有'data-trackable'屬性集的'a'的click事件。 – coreyward