也許我在升級文檔中遺漏了這個,但是如果在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