2016-12-18 13 views
0

私のレールアプリでは、別のWebページからデータをスクレイプするレイクタスクがあります。 rakeタスクからメソッドの機能をルビクラスまたはモジュールに移動したい。そうするために、私はlib/tasksにrakeタスクを、次にlibにscraper.rbを持っています。レーキタスクでは、私は 'lib/scraper'が必要ですが、これはエラーを投げます。あなたのスクレーパークラスは、このrails LoadError:そのようなファイルを読み込めません - lib/scraper

require 'mechanize' 

module Scraper 
    class Scraper 
    def scrape_info 
    end 
    end 
end 

のように見えるし、このようにそれを含める必要があり

require 'mechanize' 
class Scraper 
    def scrape_info 
     mechanize = Mechanize.new 

     # Scrape players from fox sports 
     url = "someurl" 

     # do some other stuff 
    end 
end 

答えて

0

require "lib/scraper" 
namespace :some_namespace do 
    desc "A description" 
    task :scrape_info => :environment do 
     scraper = Scraper.new 
     scraper.scrape_info 
    end 
end 

とRubyスクレーパークラス:ここ

は私のrakeタスクでありますタスクファイル内

namespace :some_namespace do 
    task some_task :environment do 
    include Scraper 
    end 
end 
+0

ありがとうございました!私がこれを試したとき、私は、スクレイパーの初期化されていないエラーが発生しました。どんな考え? –

+0

おそらくそれは熱心に読み込まれていないためです。どんなバージョンのレールですか? – Iceman

+0

これを 'config/applications.rb'に入れてください config.autoload_paths << "Rails.root}/lib" – Iceman

関連する問題