我是Ruby (和Rails)的新手,希望您能帮助我解决一些困惑。
我正在尝试将Twitter gem集成到我的网站中,以便获得用户的最新推文,并抓取指向他们头像的链接。gem运行良好,直到(我认为是)一个小时内的第100次API调用,之后Twitter会切断你的服务。
从我收集到的信息来看,我需要使用memcache将结果缓存大约1分钟。有一些很棒的pseudocode here,但不幸的是,它有点超出了我的理解。我希望我能得到更多细节。
目前,我不确定我应该把代码放在哪里?我想在应用程序布局视图中显示twitter信息,那么它会进入application_helper.rb文件中的一个方法吗?
我尽最大努力弄清楚这一点,结果得到了以下代码,它抛出了一个"Missing Helper File“错误。
module ApplicationHelper
require "memcache"
def twitter
cache = MemCache.new
twitter = cache.get("twitter").first
if twitter.nil?
begin
twitter = Twitter.user("TwitterName")
cache.set("twitter", twitter, :expires_in => 1.minute) if twitter
rescue
twitter = default
end
end
return twitter
end
end发布于 2011-10-12 05:00:43
首先为您的环境启用缓存和memcache (例如config/ environment /production.rb)
# Use a different cache store in production
config.cache_store = :mem_cache_store然后,在视图中,您想要显示tweet,如下所示
<% cache("tweets", :expires_in => 42.minutes) do %>
<% Twitter.user_timeline("User").each do %>
.....
<% end %>
<% end %>https://stackoverflow.com/questions/7731939
复制相似问题