2010-11-01 75 views
1

我想让feedzirra在rails 3上运行,我尝试了一些我在互联网上找到的方法。Feedzirra in Rails 3

这是我的Gemfile:

source 'http://gems.github.com' 

gem 'loofah', '1.0.0.beta.1' 
group :after_initialize do 
    gem 'pauldix-feedzirra' 
end 

和我root.rb

Bundler.require :after_initialize 

已经出这个bundle.setup后,这是在我的模型代码(movie.rb )

class Movie < ActiveRecord::Base 
    def self.import_from_feed 
    feed = Feedzirra::Feed.fetch_and_parse("url-to.xml") 
    add_entries(feed.entries) 
    end 

    private 

    def self.add_entries(entries) 
    entries.each do |entry| 
     unless exists? :guid => entry.id 
     create!(
      :title  => entry.title, 
      :synopsis  => entry.synopsis, 
      :cover  => entry.cover, 
      :duration  => entry.duration, 
      :channel  => entry.channel, 
      :imdb_rating => entry.imdb_rating, 
      :imdb_votes => entry.imdb_votes, 
      :imdb_id  => entry.imdb_votes 
     ) 
     end 
    end 
    end 
end 

我尝试从控制台运行import_from_feed功能,我不断收到此错误:

>> Movie.import_from_feed 
NameError: uninitialized constant Movie::Feedzirra 
    from /Users/myname/Ruby/appname/app/models/movie.rb:3:in `import_from_feed' 
    from (irb):1 

有人可以帮我吗?现在已经尝试了很多年!

回答

6

两件事情:

  1. 只需添加宝石,不在:after_initialize
  2. 使用feedzirra宝石,不要老pauldix-feedzirra之一。