J'ai un fichier alerte_import dans lib / modèles / alerte_import ', je voudrais utiliser dans ma tâche STH comme ceci: dans ce code, je reçois une erreur: p> ne peut pas trouver ../../lib/models/alert_importleight/Alert_IMPORTIMPORT J'ai: P> desc "Send alerts about automate imports"
task :send_automate_alerts => :environment do
require "#{Rails.root}/lib/models/alert_import"
ai = AlertImport::Alert.new(2)
ai.send_email_with_notifcations
end
5 Réponses :
Votre chemin est faux, vous pouvez essayer:
task :send_automate_alerts => :environment do # STDERR.puts "Path is #{$:}" Rake.application.rake_require "#{Rails.root}/lib/models/alert_import" ai = AlertImport::Alert.new(2) ai.send_email_with_notifcations end
Works nécessite "# {rails.root} / lib / modèles / alerte_import" (ce n'est pas une erreur), mais ne peut pas voir le modèle: Uninitialisé constant alertimport :: alerte :: organisation (organisation est dans la base de données)
Je pense que l'erreur avec votre chemin est corrigée. Vous devez faire une autre question et accepter cette réponse si vous avez réparer l'erreur avec le chemin. Merci!
Très probablement votre chemin qui ne va pas, vous pouvez faire comme suit "# {rails.root}" code> Cela vous donnera le chemin actuel de votre projet p> p>
Ça n'aide pas j'ai un chemin correct mais le même problème
Vérifiez-vous là-bas http://rake.rubyforge.org/classes/rake /Application.html#m000099 Définir le chemin correct p>
in rails 3.x, j'ai eu le succès en important d'abord le fichier à l'aide de Exiger code>, puis comprenant le module à l'espace de noms. Voici comment cela ressemblerait:
require 'models/alert_import'
namespace :alerts
include AlertImport
desc 'Send alerts about automate imports'
task send_automate_alerts: :environment do
ai = AlertImport::Alert.new(2)
ai.send_email_with_notifcations
end
end
J'ai essayé quelques options, qui essayaient notamment donc à la fin, je l'ai fait "à partir de zéro" - quelque chose comme ça:
`` `` p> fait. p> p> RAKE nécessitent code >
, mais cela ressemble à la documentation pour rake_require code> est incorrect. Il n'inclut spécifiquement pas les fichiers qui ne se terminent pas dans
.rake code>
Votre chemin est faux alors.