也许我在升级文档中遗漏了这个,但是如果在rails控制台中输出“Rails.root”,我会看到我的应用程序的根路径。但是如果我在自定义Rake任务中引用“Rails.root”,则它是空的。我错过了什么?提前致谢。Rails.root在Rails 3.0中的自定义Rake任务中为空
样品:
namespace :admin do
desc "Import some data"
task :import => :environment do
csv = Rails.root + "/test/data.csv"
raise "#{csv} does not exit. Stopping task." if !File.exists?(csv)
CSV.foreach(csv, :headers => :first_row) do |row|
puts(row['id'])
end
end
end
每次我得到一个例外,因为 “Rails.root” 是 “”。
不......没有工作。我的任务语法是否正确?即“任务:导入=>:环境” – 2010-09-11 06:23:44
是的语法似乎是正确的,可以工作。尝试没有第一/我更新我的答案。因为不好的PathName生成。 – shingara 2010-09-11 08:51:38
工作!谢谢!! – 2010-09-12 00:40:22