2011-03-25 71 views
2

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

感谢

回答

4

你只能访问会话数据的控制器,这是因为它是唯一应该是每MVC访问的地方。控制器从字面上控制当前会话和请求,然后检索并向模型和视图发送必要的信息。

如果您需要在别处访问它,请将所需的数据作为参数传递给您的控制器调用的所需方法。

这里有一些资源,以了解更多有关模型 - 视图 - 控制器设计模式:

使用MVC的全部要点是保持各种不同部分应用程序分离和隔离。这使您可以拥有更易于修改的更有组织的代码。尽管有许多方法可以避开Rails严格的MVC实现,并且可以使用传统上不常用的东西,但建议不要这样做。这些约定是有原因的,如果你打算退后一步,想想如何在不这样做的情况下工作,最终你会得到更好的代码。

+0

感谢您的更新安德鲁。你能否提供一些指导阅读材料来更好地理解MVC架构? – rajaramyadhav 2011-03-25 16:50:28

+0

查看我的更新回答。 – 2011-03-25 16:56:31