def show
Bottle.increment_counter :views, @bottle
end
工作得很好,但是如果同一個人一遍又一遍地看它,它會不斷遞增。我應該如何解決這個問題,讓唯一的命中增加它?創建簡單的點擊計數器
我應該有一個ip
模型,並使我的Bottle模型have_many
ips,ips是誰訪問它的人?然後,做東西這個? (我提取出來變成一個類的方法,但是這僅僅是給你看):
def show
if [email protected]?(request.remote_ip)
Bottle.increment_counter :views, @bottle
Ip.create(bottle_id: @bottle, ip: request.remote_ip)
end
end
我覺得上面會的工作,但不會這個結果在數據庫中非常迅速填滿?或者這是一種習慣,不管?如果這不是一種做法,我怎麼能以某種方式對cookie進行同樣的操作? cookie的結構是什麼?
另外,我知道有一堆命中計數器的寶石,但我想這樣做我自己(在您的幫助:P)
這正是我一直在尋找! – Doctor06