2011-12-27 195 views
1

我on Rails的內置紅寶石馬搜索網站 - FindHorsesForSale.net,並希望建立一個活動記錄系統,該系統會告訴我: - 多少次的列表中出現搜索結果 - 詳細信息頁面上出現了多少次列表 - 搜索結果中每個位置的點擊率活動記錄系統,用於Ruby on Rails的搜索網站

該應用託管在Heroku上。有關如何構建可擴展以回答上述問題的任何建議?

回答

1

我認爲最好的方法將是另一個Model計數匹配包括hit_type字段不同之間的搜索和點擊配置文件。該模型看起來是這樣的:

Hit hit_type:string user_agent:string ip:string horse_id:integer` 

然後你Hit模型的Horse模型通過has_many搜索行動創建的hit一個新的對象爲每個發現的馬,也爲每一個新的熱門對象相關聯和配置文件的視圖。唯一的區別將是hit_type,例如可能是「搜索」和「配置文件」。然後,你可以在Hit模式寫入作用域兩種:

scope :searched, where("hit_rype = ?", "search") 
scope :viewed, where("hit_type = ?", "view") 

,那麼你可以很容易檢查馬匹的意見:

horse.hits.searched.count # returns count of views 
horse.hits.viewed # returns count of profile views 

希望這可以幫助你!

//我看看你的網站。如果你在網站上做商店,你應該知道SEO,這樣你的發現!您的所有域名的問題使用駝峯但谷歌doenst認識到域名的問題,也就是說駝峯,...只是一個提示

+0

更新,................. – davidb 2011-12-27 17:43:23

+0

感謝您的答覆。每次顯示搜索結果頁面時創建20次點擊似乎會減慢頁面加載速度,這不是我想要做的事情。有關如何使其表現良好的任何建議?也許通過delayed_job或類似的東西調用所有東西? – DougB 2011-12-27 18:58:18

+0

試試看,類似的任務不要減慢我的應用程序eaven每次頁面加載時,我都會使用100個對象! – davidb 2011-12-28 08:53:17