Quand je veux essayer ou déboguer smthing, je lance Rails console
Et je fais quelques choses là-bas. Je peux imprimer du texte ou des variables à partir de code en levant une exception avec raise "blablabla"
. Question: Comment puis-je simplement écrire sur la console de Rails sans exception (et l'exécution de code de rupture évidente) comme un simple logger.info "blah"
?
Comme d'autres l'ont déjà dit, vous voulez utiliser soit puts
ou p
. Pourquoi? Est-ce que c'est magique?
Pas vraiment. Une console Rails est, sous le capot, un IRB , de sorte que tout ce que vous pouvez faire dans IRB vous sera possible. faire dans une console Rails. Étant donné que pour imprimer dans une IRB, nous utilisons puts
, nous utilisons la même commande pour imprimer dans une Rails .
Vous pouvez réellement jeter un coup d’œil à la console code dans le code source Rails. Voir les exigences de irb? :)
puts
ou p
est un bon début pour le faire.
p "asd" # => "asd"
puts "asd" # => asd
voici plus d'informations à ce sujet: http://www.Ruby-doc.org/core-1.9.3/ARGF.html
En plus des suggestions déjà suggérées p
et puts
- eh bien, dans la plupart des cas, vous pouvez écrire logger.info "blah"
comme vous l’avez suggéré. Cela fonctionne aussi en console, pas seulement en mode serveur.
Mais si tout ce que vous voulez, c'est le débogage de la console, puts
et p
sont beaucoup plus courts à écrire, de toute façon.
Je pense que vous devriez utiliser les Rails:
logger.debug "Person attributes hash: #{@person.attributes.inspect}"
logger.info "Processing the request..."
logger.fatal "Terminating application, raised unrecoverable error!!!"
https://guides.rubyonrails.org/debugging_Rails_applications.html