Peut-être que j'ai manqué dans la documentation de mise à niveau, mais si je publie "Rails.root" dans la console rails, je vois le chemin racine de mon application. Mais si je référence "Rails.root" dans une tâche Rake personnalisée, elle est vide. Qu'est-ce que je rate? Merci d'avance.Rails.root est vide dans Rake Task personnalisé dans Rails 3.0
Exemple:
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
je reçois une exception à chaque fois parce que "Rails.root" est "".
Non ... cela n'a pas fonctionné. La syntaxe de ma tâche est-elle correcte? c'est-à-dire "tâche: import =>: environnement" –
oui la syntaxe semble correcte et peut fonctionner. Essayez sans d'abord/je mets à jour ma réponse avec. Parce que le mauvais PathName génère. – shingara
Cela a fonctionné! Merci!! –