Возможно, я пропустил это в документации по обновлению, но если я вывешу «Rails.root» в консоли rails, я вижу корневой путь моего приложения. Но если я ссылаюсь на «Rails.root» в пользовательской задаче Rake, она пуста. Что мне не хватает? Заранее спасибо.Rails.root пуст в Custom Rake Task в Rails 3.0
Пример:
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" является "".
Нет ... это не сработало. Правильно ли синтаксис моей задачи? то есть «task: import =>: environment» –
Да, синтаксис кажется правильным и может работать. Попробуйте без первого/я обновляю свой ответ. Потому что создается неправильное имя PathName. – shingara
Это сработало! Благодаря!! –