有人可以向我解释一下 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/