Rails + Ahoy gem +设置其他Cookie

时间:2019-06-28 00:25:08

标签: ruby-on-rails ruby cookies ahoy

我让Ahoy与Rails应用程序集成在一起,工作正常。我为访问模型引入了一个新概念,即“ visitor_email”,如果用户使用URL中的特定参数(在/initializers/ahoy.rb中设置)进入网站,则会设置该概念。一切正常。

除此以外,我还想用这个visitor_email创建一个cookie。然后,如果用户返回网站,该Cookie将用于唯一标识用户(没有URL中的唯一参数,也没有在ahoy访问结束之后)-该Cookie将用于为新用户分配相同的“ visitor_email”访问。

我当然不能在/initializers/ahoy.rb中创建/使用这些cookie。我想,在application_controller中的before_action中创建cookie很好。但是我不能使用cookie值通过相同的方法在新的访问中设置visitor_email。处理此问题的首选方法是什么?

1 个答案:

答案 0 :(得分:0)

我通过覆盖Ahoy visits_controller来解决此问题-我在那里检查了cookie,同时将cookie保留在应用程序控制器中

我从https://github.com/ankane/ahoy/blob/ba04a5bf7bd1fe6175381152d3e553141a448bbe/app/controllers/ahoy/visits_controller.rb中复制了整个控制器,然后改写了相关部分。

请确保将其放在项目的/ app / controllers / ahoy /中,并且路由会自行处理。