计算执行操作的次数并使用该数字

时间:2014-04-04 04:08:42

标签: ruby-on-rails cookies

每次为站点上的每个用户执行时,我都想计算一个rails操作。经过一定次数后,我可以执行不同的操作。

我尝试使用cookies

cookies[:search_attempts] = 0 if cookies[:search_attempts].nil?

if contact_params.present? && cookies[:search_attempts].to_i < 2
  cookies[:search_attempts] = cookies[:search_attempts].to_i + 1
  # normal action
else
  # other action
end

我看到的问题是当用户没有启用cookie时。此外,我计划在用户多次使用该操作时使用此功能,因此我会提示用户进行共享。

我还在考虑将用户执行操作的次数计入用户的某个属性。这不会捕获未注册的尝试。

现在我考虑一下,我可以暂时使用cookie,直到他们注册然后将其保存到数据库。

我想听听我正在考虑解决这个问题的任何其他选择。

1 个答案:

答案 0 :(得分:0)

通过添加以下内容将操作执行计数存储在来宾帐户中:

  1. 用户记录的布尔列,表示哪些用户是 客人 - 按照Railscasts #393 Guest User Record中的说明操作(引用如下);和
  2. 操作的整数列 执行计数。
  3.   

    [K] eep跟踪数据库中的所有客人[...]添加一个   boolean guest列到users表。