2017-07-27 3 views
0

Je veux obtenir le nom de fichier qui nécessitentcomment obtenir le nom du fichier de l'appelant pour cgi rubis

index.rb

puts "<html><head></head><body>" 

require 'test.rb' 

puts "</body></html>" 

test.rb

# here I want to get 'index.rb' to go to the case select statement to change output html 

puts <<"EOS" 
<p> HTML output bla bla bla </p> 
EOS 

peut-être il est possible en utilisant l'appelant classe mais je ne pouvais pas le savoir.

+0

Jetez un oeil à [ 'Kernel.caller_locations'] (https://ruby-doc.org/core-2.2.0/Thread/Backtrace/Location.html). – ndn

+0

merci beaucoup. je l'ai. caller_locations (3) .first.path – zari3

+0

Ecrivez une réponse à votre question et acceptez-la pour que les futurs lecteurs puissent facilement résoudre le même problème. – ndn

Répondre

0

résolu.

filename = caller_locations(3).first.path 

le nombre doit être modifié en fonction de la profondeur.

grâce NDN