作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
例如,如果匿名用户点击“赞”按钮,他将被重定向到登录页面;用户可以选择注册或登录,无论哪种方式服务器都会记住他的操作,因此用户不会再次点击。数据应在创建 10 分钟后销毁。
我该如何实现?
最佳答案
您基本上只想序列化他们创建帐户后要完成的事情的列表。您可以将其存储在 session 中、像 memcached 这样的持久性缓存(尽管不能保证持久性)或自定义模型/表中。在 Rails 中实际上并没有任何一种公认的方法来执行此操作,因此如何实现它取决于您。
如果你想坚持 Rails 的做事方式,你可以做的就是设置一个 transient
在记录上标记,然后保存。用户注册后,您可以删除 transient 标志。运行一个销毁所有超过 10 分钟的临时记录的 cron 作业,并且应该运行所有 before_destroy 回调以让您回滚它们引起的任何状态更改。这是一个“繁重”的解决方案,但它很容易实现,并且可以让您轻松利用 Rails 的模型。
关于ruby-on-rails - 如何在 Rails 中为匿名用户保存临时数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4547587/
我是一名优秀的程序员,十分优秀!