Ruby on rails 如何跟踪用户';在不要求他们使用ruby on rails登录的情况下

Ruby on rails 如何跟踪用户';在不要求他们使用ruby on rails登录的情况下,ruby-on-rails,session,Ruby On Rails,Session,我有一个应用程序,它有一个对象的实际地图,任何访问者都可以查看,只要他们有正确的访问代码。我不要求用户登录,因为我不想让他们创建一个帐户,因为这是不必要的。我希望允许用户通过选中标记地图上的对象,并在会话中保存编辑。因此,如果用户刷新了页面,或者他们关闭应用程序并在一个小时左右后重新打开,我希望根据他们的会话id保存他们的标记。但是我不知道如何在不要求他们登录的情况下进行设置,因为我不确定会话将如何工作 任何帮助都将不胜感激 我会实现Cookies(当然要得到他们的许可)。您可以在其中存储基本数

我有一个应用程序,它有一个对象的实际地图,任何访问者都可以查看,只要他们有正确的访问代码。我不要求用户登录,因为我不想让他们创建一个帐户,因为这是不必要的。我希望允许用户通过选中标记地图上的对象,并在会话中保存编辑。因此,如果用户刷新了页面,或者他们关闭应用程序并在一个小时左右后重新打开,我希望根据他们的会话id保存他们的标记。但是我不知道如何在不要求他们登录的情况下进行设置,因为我不确定会话将如何工作


任何帮助都将不胜感激

我会实现Cookies(当然要得到他们的许可)。您可以在其中存储基本数据,甚至可以为它们创建一种ID,这样当它们返回时,您就可以恢复它们的设置

Rails中的会话以完全相同的方式工作,而不管您是否拥有正确的身份验证系统

当访问者第一次访问您的应用程序时,会话中间件将创建会话标识符。这是一个加密哈希,由服务器保存,并在cookie中传递给用户

这使您可以跨请求识别用户

此会话标识符还链接到会话存储。默认情况下,这是
ActionDispatch::Session::CookieStore
,它允许您将会话数据存储在客户端持有的加密cookie中。这是您通常存储用户id的地方。由于它是一个cookie,因此存储空间非常有限。如果要在会话中存储更多数据,可以使用其他存储,如Memcached、Redis或ActiveRecord

<>但您可能要考虑的是在没有正常注册过程的情况下隐式创建(客户)用户记录。我只需要使用一个基本的用户模型和一个cron选项卡,定期清理不需要的数据

这为您提供了一个面向数据库的应用程序模型,在该模型中,您可以使用关联并像标准rails应用程序一样构建它,而不是像某些人在会话中发疯时所导致的不稳定的混乱