Ruby on Rails 中的会话如何工作?

Posted

技术标签:

【中文标题】Ruby on Rails 中的会话如何工作?【英文标题】:How do sessions work in Ruby on Rails? 【发布时间】:2015-08-23 20:03:55 【问题描述】:

我想知道会话在 Ruby on Rails 中是如何工作的。

我现在可以使用session[:user_id] = @user.id 保存会话并使用session[:user_id] 检索它。

因此,Rails 会将会话保存到 cookie 存储、缓存存储还是数据库存储?

【问题讨论】:

会话默认存储在cookies中。但如果需要,您可以将其更改为缓存或数据库。 【参考方案1】:

当您请求网页时,服务器可以在响应时设置 cookie。你可以阅读这篇文章,它将清楚你关于会话的概念。 http://www.justinweiss.com/blog/2015/03/17/how-rails-sessions-work/

【讨论】:

【参考方案2】:

会话保留在服务器端。它保存在网络服务器本身上。这可以在文件/内存/数据库中。该会话的 ID 保存在用户浏览器上的 cookie 中,以便将用户与正确的会话相关联。

更多信息可以在这里找到:

What are sessions? How do they work?

【讨论】:

以上是关于Ruby on Rails 中的会话如何工作?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ruby on Rails 中注册服务工作者?

如何根据工作日Ruby on Rails显示数据

如何使下拉表单在 Ruby On Rails 中工作

如何让 XAMPP 的 MySQL 和 Ruby on Rails 在我的 Mac 上协同工作?

Rails Guides - Ruby on Rails 安全指南

如何注销 Facebook - 在 Rails 应用程序中使用代码(Ruby on Rails Omniauth)