Comment trouver le port local sur lequel une instance de rails s'exécute?
Donc, je voudrais que mon application Rails instances à s'inscrire eux-mêmes sur un "je suis" genre de chose que je suis en train de jouer avec, et j'aimerais qu'il soit capable de parler de ce que le port local il est en cours d'exécution sur. Je n'arrive pas à trouver comment le faire - en fait il suffit de trouver son adresse IP est délicate et nécessite un peu un hack.
Mais pas de problème, j'ai l'IP - mais comment puis-je trouver ce port mon metis/mince/webrick serveur est en cours d'exécution sur?
Être super explicite, si je commence une application rails à l'aide de script/server -p 3001, que puis-je faire pour retirer cette 3001 à l'intérieur de l'app.
source d'informationauteur RailFan
Vous devez vous connecter pour publier un commentaire.
Vous pouvez appeler
Rails::Server.new.options[:Port]
pour obtenir le port de votre serveur Rails est en cours d'exécution sur. Cela permettra d'analyser les-p 3001
args à partir de votrerails server
de commande, ou à défaut de port3000
.À l'intérieur de tout contrôleur de l'action, de vérifier le contenu des demande.portdonc:
Deux façons.
Si vous voulez répondre à une demande dans un contrôleur ou de la vue, de l'utilisation de l'objet de requête:
Si vous êtes dans une initialiser et n'ont pas accès à l'objet de demande d'utiliser les options de serveur de hachage:
Pour les Rails 5.1 serveur de développement.
J'ai joué un peu avec ce un peu, et ce pourrait être la meilleure solution pour les Rails 5.1: