0

为可能是菜鸟的问题道歉:

我有一个 rake 任务,旨在从站点获取数据并将其保存为 RateData 对象。

rs.each do |market,url| 
  doc = Nokogiri::HTML(open(url))  
  doc.xpath("//table/tr").each do |item|  
    provider = "rs"
    market = market
    rate = item.xpath('td[1]').text.gsub!(/[^0-9\.]/, '')
    volume = item.xpath('td[2]').text.gsub(/[^k0-9\.]/, '')
    volume = volume.gsub(/\.(?=.k)/, '')
    volume = volume.gsub(/k/, '00')
    volume = volume.to_f
    rate = rate.to_f
    RateData.create(:provider => provider, :market => market, :rate => rate, :volume => volume, :bid_ask => 1)
  end
end

RateData.create 方法位于 rate_data_controller 中,当我在 rails 控制台中调用它时可以访问它。我怎样才能使它在这个 rake 任务中可用?

非常感谢!

4

1 回答 1

0

您需要将环境传递给任务

task :your_task, [] => :environment do

或带参数

task :your_task, [:foo] => :environment do |task, args|
于 2012-06-10T22:43:38.897 回答