feed_pa​​rser gem在生产控制台中工作,但不在生产Web服务器上工作

时间:2013-10-10 14:26:59

标签: ruby-on-rails gem

我在Rails应用程序中使用feed_pa​​rser gem。它完全按照开发中的说明工作,也可以在生产控制台中使用,但不会在生产Web服务器上加载。

(注意:它甚至在我们的Ubuntu 12.04测试服务器上工作正常,在10.04生产服务器上失败)

uninitialized constant - Project::FeedParser

我在我们网站的其中一个模型中运行:

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 %>

1 个答案:

答案 0 :(得分:1)

解释器正在寻找要定义的FeedParser类,但找不到它 - 错误表明它正在Project类中查找,因为它在其他地方找不到它。

我会将require 'feed_parser'添加到Project模型的顶部,在类声明之上。

我假设这是你正在使用的宝石:

https://rubygems.org/gems/feed_parser