有人可以解释一下Rails中会话变量的可见性。我的意思是会话变量可用于哪些类。我能够访问控制器中的会话变量,但如果我创建一个独立的类,我将无法访问会话哈希。另请告诉我在独立类中访问会话变量的最佳方法是什么。有人能帮我理解这个会话概念吗?任何与此相关的指针或阅读都会有所帮助。
由于
答案 0 :(得分:4)
您只能访问控制器中的会话数据,这是因为它是每个MVC唯一可以访问的地方。控制器从字面上控制当前会话和请求,然后检索并将必要的信息发送到模型和视图。
如果您需要在其他地方访问它,请将所需数据作为参数传递给控制器调用中所需的方法。
以下是一些资源,可以了解有关模型 - 视图 - 控制器设计模式的更多信息:
使用MVC的重点是保持应用程序的各个不同部分分离和隔离。这使您可以拥有更易于修改的更有条理的代码。虽然有办法绕过Rails严格的MVC实现并使用通常不会使用的东西,但建议不要这样做。这些约定是有原因的,如果你想要突破后退,想一想如何让它工作而不这样做,你最终会有更好的代码。