ruby-on-rails - Rails 中 session 变量的可见性

标签 ruby-on-rails session

有人可以向我解释一下 Rails 中 session 变量的可见性吗?我的意思是 session 变量在哪些类中可用。我能够访问 Controller 中的 session 变量,但如果我创建一个独立的类,我将无法访问 session 哈希。还让我知道在独立类中访问 session 变量的最佳方法是什么。有人可以帮助我理解这个 session 概念吗?任何与此相关的指示或阅读都会有所帮助。

谢谢

最佳答案

您只能访问 Controller 中的 session 数据,这是因为它是每个 MVC 唯一可以访问的地方。 Controller 从字面上控制当前 session 和请求,然后检索必要的信息并将其发送到模型和 View 。

如果您需要在其他地方访问它,请将所需的数据作为参数传递给 Controller ​​调用中所需的方法。

以下是一些资源,可帮助您了解有关模型- View - Controller 设计模式的更多信息:

使用 MVC 的全部目的是保持应用程序的各个不同部分分离和隔离。这使您可以拥有更有条理、更易于修改的代码。虽然有一些方法可以绕过 Rails 严格的 MVC 实现并使用通常不会使用的东西,但建议不要这样做。这些约定的存在是有原因的,如果您正在考虑打破,请退后一步,思考如何使其在不这样做的情况下工作,最终您将获得更好的代码。

关于ruby-on-rails - Rails 中 session 变量的可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5435452/

相关文章:

mysql - Rails 控制台不同的 MySQL 结果

php - 在 PHP 中使用 curl 绕过验证码

javascript - 使用 javascript 设置的 Cookie,无法被 PHP 识别(相同的域和路径)

php - Laravel session 数据不会跨页面加载

hibernate - 在 hibernate 中设置 session 或事务的超时

ruby-on-rails - 在 Ruby 中将小数转换为价格格式

ruby-on-rails - 将Youtube_it与rails一起使用4

ruby-on-rails - 当我进行测试时,test_helper 不加载

ruby-on-rails - 无法在 Rails C 生产中加载数据库模型

api - 传统 Web 应用程序和 API 中的身份验证、授权和 session 管理