J'ai créé un module personnalisé (qui définit actuellement seulement une nouvelle classe d'exception), et le mettre sous lib/lib_th.rb
Définir exception personnalisée dans un module Rails
module LibTH
module Error
IDNotFound = Class.new
end
end
Je ne devrais pas avoir besoin d'exiger/inclure les module dans mon code, car il devrait être chargé automatiquement, car il suit les règles de nommage classiques.
Mais quand je tente de soulever l'exception IDNotFound
quelque part dans mon code:
res.size == 0 ? raise LibTH::Error::IDNotFound : res
Je reçois l'erreur follwoing:
SyntaxError (/Users/lrnz/code/ruby/corinna/app/models/treasure_hunt.rb:49: syntax error, unexpected tCONSTANT, expecting kDO or '{' or '('
res.size == 0 ? raise LibTH::Error::IDNotFound : res
^
/Users/lrnz/code/ruby/corinna/app/models/treasure_hunt.rb:49: syntax error, unexpected ':'
res.size == 0 ? raise LibTH::Error::IDNotFound : res
^):
app/controllers/treasure_hunts_controller.rb:50:in `show'
La chose étrange est que je ne rencontre pas de problèmes en essayant de soulever l'exception dans script/console
:
>> raise LibTH::Error::IDNotFound
LibTH::Error::IDNotFound: LibTH::Error::IDNotFound
from (irb):70
nks!