rails中会话变量的可见性

有人可以解释我在Rails中会话变量的可见性。 我的意思是会话变量可用于哪些类。 我能够访问控制器中的会话变量,但如果我创建一个独立的类,我将无法访问会话哈希。 另请告诉我在独立类中访问会话变量的最佳方法是什么。 有人能帮我理解这个会话概念吗? 任何与此相关的指针或阅读都会有所帮助。

谢谢

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

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

以下是一些资源,可以了解有关模型 – 视图 – 控制器设计模式的更多信息:

  • 维基百科上的MVC
  • 导轨指南

使用MVC的重点是保持应用程序的各个不同部分分离和隔离。 这使您可以拥有更易于修改的更有条理的代码。 虽然有办法绕过Rails严格的MVC实现并使用通常不会使用的东西,但建议不要这样做。 这些约定是有原因的,如果你想要突破后退一步,想一想如何在没有这样做的情况下让它工作,你最终会得到更好的代码。