Rails rake mechanize - 错误 - 没有这样的文件加载 - 机械化

时间:2011-02-15 17:23:51

标签: ruby-on-rails ruby mechanize


编辑:忘记在gem文件中包含mechanize

运行时出现错误: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表中创建一行。

祝你好运, 铁轨初学者

2 个答案:

答案 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