Quindi vorrei che le istanze dell'applicazione Rails si registrassero su un tipo di "I'm up" con cui sto giocando, e mi piacerebbe che fosse in grado di menzionare quale porta locale è in esecuzione. Non riesco a trovare il modo di farlo - in effetti solo scoprire la sua IP è complicato e ha bisogno di un po 'di trucco.Come trovare la porta locale su cui è in esecuzione un'istanza di rotaie?
Ma nessun problema, ho l'IP - ma come posso trovare su quale porta è in esecuzione il mio server mongrel/thin/webrick?
Per essere super esplicito, se avvio un'applicazione di rotaie usando script/server -p 3001, cosa posso fare per estrarre il 3001 dall'app.
permanenza stai mettendo il codice che fa la registrazione? – mikej
Mi piacerebbe che fosse in un inizializzatore, ma potrebbe essere comunque molto. L'importante è che sia in grado di annunciarsi su un'altra macchina - "Ciao, sono stato avviato sulla porta # {PORT}" - dove la porta potrebbe essere qualsiasi cosa. Fondamentalmente, Rails equivalenti a Sinatra :: Application.port. – RailFan
La maggior parte delle risposte alla domanda hostname rispondono anche a questo: http://stackoverflow.com/questions/42566/getting-the-hostname-or-ip-in-ruby-on-rails –