运行时出现错误:No such file to load -- Mechanize'
:rake import_stats
。
我在lib / tasks中的statistik.rake
desc "Importer statistikker"
task :import_stats => :environment do
require 'Mechanize'
agent = WWW::Mechanize.new
agent.get("http://www.iqmedier.dk")
form = agent.page.forms.first
form.Username = 'username'
form.Password = 'password'
form.submit
agent.page.link_with(:href => "/Publisher/Stats").click
form = agent.page.forms.first
form.submit
@stats = agent.page.search('//tr')[-2].search('td').map{ |n| n.text }
Reklamer.create!(:virksomhed => 'Iqmedier', :dato => '(@stats[1])', :unik_klik => '(@stats[2])', :klik => '(@stats[3])', :unik_vis => '(@stats[4])', :vis => ('@stats[5]'), :leads => ('@stats[6]'), :ordre => '(@stats[6])', :cpc => '(@stats[7])', :earn => '(@stats[8])')
end
我正在尝试使用抓取的数据在Reklamer表中创建一行。
祝你好运, 铁轨初学者
答案 0 :(得分:1)
任务名称为environment
,而非enviroment
。有一个错字。
改变第2行。
答案 1 :(得分:0)
要调用rake任务:
rake namespace:name_of_the_task
因此,考虑到您没有任何名称空间,您应该运行:
rake import_stats
您可能需要一个命名空间,为此,您必须将任务封装在命名空间中:
namespace :mechanize do
task :import_stats => :environment do
....
end
end
然后执行
rake mechanize:import_stats