Rails アプリで feed_parser gem を使用しています。これは、開発で示されているとおりに機能し、実稼働コンソールでも機能しますが、実稼働 Web サーバーにはロードされません。
(注: Ubuntu 12.04 テスト サーバーでも問題なく動作しますが、10.04 運用サーバーでは失敗します)
uninitialized constant - Project::FeedParser
私はこれを私たちのウェブサイトのモデルの1つで実行しています:
class Project < ActiveRecord::Base
def self.facebook_feed
url = "http://www.facebook.com/feeds/page.php?id=236004913152511&format=rss20"
posts = Project.parse_feed(url)
return posts
end
def self.blogspot_feed
url = "http://fundinggarage.blogspot.com/feeds/posts/default?alt=rss"
posts = Project.parse_feed(url)
return posts
end
private
def self.parse_feed(feed_url)
feed = FeedParser.new(:url => feed_url).parse
fj = feed.as_json
#fj[:items].first[:description]
posts = []
fj[:items].take(4).each do |fp|
post = {}
doc = Nokogiri::HTML(fp[:description])
img_srcs = doc.css('img').map{ |i| i['src'] }
post[:headline] = fp[:title]
post[:image] = "/assets/fg_image_placehloder.png"
post[:image] = img_srcs.first unless img_srcs.first.nil?
post[:url] = fp[:link]
post[:date] = fp[:published]
posts << post
end
return posts
end
end
ビューで:
<% Project.blogspot_feed.each do |fb| %>
<div class="grid_3">
<div class="media other-post-item">
<a href="<%= fb[:url] %>" class="thumb-left" target="_blank">
<div class="blog-img">
<img src="<%= fb[:image] %>" alt="<%= raw fb[:headline] %>" title="<%= raw fb[:headline] %>">
</div>
<span class="be-fc-orange">
<h4 class="rs title-other-post"><%= raw fb[:headline] %></h4>
<p class="rs fc-gray time-post pb10"><%= "#{time_ago_in_words(fb[:date])} ago" %></p>
</span>
</a>
</div>
</div><!--end: . other-post-item -->
<% end %>