Ian*_*Ian 4 ruby twitter caching ruby-on-rails
我是Ruby(和Rails)的新手,希望你能帮助我解决一些我正在经历的困惑.
我正在尝试将Twitter gem集成到我的网站中以获取用户的最新推文,并获取其个人资料图片的链接.宝石工作很好,直到(我认为)一小时内的第100个API调用,之后Twitter会切断你.
根据我收集的内容,我需要使用memcache将结果缓存约1分钟.这里有一些很棒的伪代码但不幸的是,它有点过头了.我希望我能得到一些更具体的细节.
目前,我不确定我会在哪里放置该代码?我想在应用程序布局视图中显示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
Run Code Online (Sandbox Code Playgroud)
首先为您的环境启用缓存和内存缓存(例如config/environments/production.rb)
# Use a different cache store in production
config.cache_store = :mem_cache_store
Run Code Online (Sandbox Code Playgroud)
然后在视图中你想要显示推文做这样的事情
<% cache("tweets", :expires_in => 42.minutes) do %>
<% Twitter.user_timeline("User").each do %>
.....
<% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
793 次 |
最近记录: |