Rails - 只向用户显示一次消息

时间:2015-06-08 08:00:49

标签: ruby-on-rails

我想只向用户显示一条消息。 (像教程一样)。

您是否知道创业板是否有管理权?或者最好的方法是什么?

我想将IP存储在数据库中。但我担心这会减慢我的网站速度。

该消息警告Cookie的使用(我们必须在法国这样做......)

2 个答案:

答案 0 :(得分:3)

嗯,这是在Web开发中多次出现的常见情况。我在这里有两个选择:

Cookie持久性:

如果访问您网站的任何人看到过该通知,您可能希望将结果存储在Cookie中。这个问题的唯一缺点是,当用户清除cookie时,他会再次看到通知。这完全没问题。许多站点使用cookie来存储临时信息,并且只要用户清除缓存/ cookie,就会删除该信息。

IP过滤:

您可能希望将IP存储在访问过您网站并看过通知的数据库中。但是当一个新的IP形成一个特定的IP时,你需要根据存储在数据库中的所有IP进行检查,如果找到,不要显示任何通知 - 否则显示。

我个人使用 Cookie Persistence 选项,而不是将数据库用于此目的。并且将所有IP存储在数据库中,并在已存储的IP中搜索新的IP确实会有轻微的性能提示,因此请注意。

  

您是否知道创业板是否有管理权?或者最好的方法是什么?

就个人而言,我还没有遇到任何这样的宝石。最好的方法:取决于你。做你认为最能解决问题的方法。

答案 1 :(得分:0)

在我看来,将数据存储在数据库中只是为了一次使用它是没用的。我不知道任何宝石,但我曾做过类似的事情。在用户注册后,我添加了param来重定向url,以及一个检查param是否存在的方法。如果为true - 显示消息/教程。 Param仅在注册后添加,因此在登录到页面后它不再显示消息。它不是完美而简单且有效的解决方案。