Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:在哪里存储由控制器控制的全局内容?_Ruby On Rails_Ruby_Facebook_Oop_Global Variables - Fatal编程技术网

Ruby on rails Rails:在哪里存储由控制器控制的全局内容?

Ruby on rails Rails:在哪里存储由控制器控制的全局内容?,ruby-on-rails,ruby,facebook,oop,global-variables,Ruby On Rails,Ruby,Facebook,Oop,Global Variables,我的应用程序中有用户s。他们每个人都有一个Facebook个人资料(考拉用于此) 因此,我应该将graph对象存储在任何位置。接下来,我应该为这个图设置facebook id。我在控制器上这样做是因为用户单击“登录”并登录 假设User有friends:我想通过User.friends获得他们。此方法应返回用户朋友的facebook ID。因此,这种方法应该使用图形 如何使所有这些都正确?嗯。。。如果我理解正确,您希望在每个用户登录后创建并存储全局@graph对象。我认为,我们在这里遇到了HTT

我的应用程序中有
用户
s。他们每个人都有一个Facebook个人资料(考拉用于此)

因此,我应该将
graph
对象存储在任何位置。接下来,我应该为这个图设置facebook id。我在控制器上这样做是因为用户单击“登录”并登录

假设
User
friends
:我想通过
User.friends
获得他们。此方法应返回用户朋友的facebook ID。因此,这种方法应该使用
图形


如何使所有这些都正确?

嗯。。。如果我理解正确,您希望在每个用户登录后创建并存储全局
@graph
对象。我认为,我们在这里遇到了HTTP协议的无状态属性和一种避免它的方法——使用Rails
session
object。但在我看来这是错误的

另一种方法-每次用户登录后创建
@graph
。另一种方法是使用中间件,比如。您可以在Redis中以字符串形式存储有关用户的任何信息。例如,您可以在it中存储一组用户Facebook好友,并在需要时随时获取他们


但我想肯定还有另一种方法)

但是在哪里存储
@graph
?在
会话中
?如何从
用户
对象中获取
会话
?我认为,对于这种情况,最好的方法是在用户模型中创建虚拟属性,并在用户在身份验证过程中从数据库检索到的地方填充@graph对象。