在我的 rails 应用程序中,我希望用户能够在不登录的情况下浏览和探索,但是,当用户尝试创建记录时,它应该让他只有在他/她登录后才能保存它。如果用户未登录,那么它应该将他引导到注册过程。用户不应该费力地重新创建记录。
例如,用户可以去任何购物网站,将商品添加到购物车。结帐时,系统会提示用户注册/登录。即使用户被引导到注册页面,商品仍然存在于购物车中(用户不必添加它们)
有宝石吗?或者如何在 Rails 应用程序中实现这一点。
在我的 rails 应用程序中,我希望用户能够在不登录的情况下浏览和探索,但是,当用户尝试创建记录时,它应该让他只有在他/她登录后才能保存它。如果用户未登录,那么它应该将他引导到注册过程。用户不应该费力地重新创建记录。
例如,用户可以去任何购物网站,将商品添加到购物车。结帐时,系统会提示用户注册/登录。即使用户被引导到注册页面,商品仍然存在于购物车中(用户不必添加它们)
有宝石吗?或者如何在 Rails 应用程序中实现这一点。
很快,您要做的是为每个未登录并访问您的站点的用户创建一个访客用户实例。您将此用户视为注册用户,并相应地将所有内容保存到数据库中。然后,当用户到了必须注册您更改他在数据库中的来宾用户详细信息的地步时,这样他作为来宾所做的一切都将保持不变。
您可以在此处找到一个截屏视频,详细说明如何实现您的目标:Guest User Record - RailsCasts
您可以将此信息存储在会话中,然后当用户注册并登录该站点时,您可以在会话中显示存储的信息。