Rails请求的全局线程本地对象

时间:2014-03-13 15:46:39

标签: ruby-on-rails ruby

某些Python框架(如Flask,Pyramid和Pylons)提供了一个g对象,一个持久存储请求的线程局部全局对象。它非常有用,因为它可以包含在before_request挂钩中初始化的当前用户等。

由于RoR没有提供这样的对象,因此什么是等效的" Ruby-esque"如何做同样的事情?

before_request hook initializes some variables on g
-> routing
controller accesses variables initialized in before_request

1 个答案:

答案 0 :(得分:1)

使用Ruby on Rails,您应该使用一个实例变量(实例varialbes以@开头,例如@user),它在控制器和视图中可用,并且仅用于当前请求。