我基本上试图在我的Rails 3应用程序中缓存推文,所以我不必在每次刷新页面时都使用它们。我有两个类变量:
@@tweet_time = Time.now
@@tweets = Twitter.user_timeline(TWEET_ACCOUNT)[0,NUMBER_OF_TWEETS]
那些在我的控制器中。
在控制器中,我检查是否
@@tweet_time < 1.hour.ago
如果是的话,我会重置@@ tweets和@@ tweet_time。
但是当我尝试在视图中循环@@ tweets时,它说@@ tweets是一个未初始化的类变量。我想这是因为从技术上来说它是从ActionView而不是ActionController调用的。
如何在视图中访问@@ tweets?
PS如果我完全倒退,请随意批评,希望能给我一个更好的方法。我非常感谢您提供的任何反馈。答案 0 :(得分:3)
我不认为控制器中的类变量会在请求中持续存在。这不是控制器的责任。
如果您不想使用像Redis这样的内存数据库来缓存您的推文,您可以尝试将类变量移动到一个模型,然后您可以从控制器进行查询。
答案 1 :(得分:0)
我现在正在使用“dalli”宝石来做这件事。从我所知道的,这是一种快速使用MemCache的方法。