【发布时间】:2014-06-08 19:15:03
【问题描述】:
我正在尝试找到一种方法来计算按用户 IP 地址过滤的特定按钮上的点击次数,以便只注册 1 次点击(例如每天)。
现在我并不想为此找到一个完全稳定的解决方案,只是为了过滤掉点击,这样用户就不能点击 5 次并用 5 次点击填充计数器。
所以我想为什么不设置一个 cookie (cookie[:installed] = true) 所以我可以这样做:
def click_button
url_to_redirect
unless cookies[:installed]
click_counter.increment
end
end
(我不知道这是否是一个很好的解决方案,只是头脑风暴。如果有人有更好的想法,那么欢迎你向我解释。)
除此之外,虽然我通读了Rails API on Cookies,但我没有任何运气实施这个“Cookie 解决方案”。
我怎样才能实现这个,我从哪里开始? (我读到在模型中创建逻辑是不好的)。
原谅我的新手,干杯
问题进展:
1.) 在我的控制器的 Show Action 中,我设置了 Cookie =>
def show
cookies[:installed] = false
end
【问题讨论】:
-
你能把显示链接的视图代码和控制器代码贴出来吗?
-
这是一个简单的链接 (link_to "Download", '#'),它位于 SHOW 视图中。控制器动作是空的,因为我试图找到如何实现这一点:)
-
如果计数达到 5 则不应点击链接?
-
不,当用户第一次点击链接时 = 更新计数。如果他再次单击它 = 不要更新计数。
标签: ruby-on-rails cookies ruby-on-rails-4