[RUBY-ON-RAILS] 어떻게이 인스턴스를 레일 로컬 포트가 실행되고 찾는 방법은?
RUBY-ON-RAILS어떻게이 인스턴스를 레일 로컬 포트가 실행되고 찾는 방법은?
나는에 자신을 등록하는 내 레일 응용 프로그램 인스턴스를 싶습니다 그래서 내가 함께 연주 해요 종류의 일의 "I가 있어요", 나는이 실행 무슨 로컬 포트 말할 수 있도록하고 싶습니다. 실제로 단지의 IP가 까다 롭습니다 및 해킹의 비트를 필요로 알아내는 - 나는 그것을 수행하는 방법을 찾을 수 없습니다.
그러나 문제, 나는 IP는 없다 -하지만 어떻게 내 잡종 / 얇은 /의에 WEBrick 서버에서 실행되는 어떤 포트에서 찾을 수 있습니까?
나는 레일 내가 응용 프로그램 내에서 3001 것을 끌어 위해 할 수있는 일, 3001 -p 스크립트 / 서버를 사용하여 앱 관련 시작하면, 슈퍼 명시합니다.
해결법
-
==============================
1.레일스 서버가 실행되고있는 포트를 얻을 : [포트] 당신은 레일 :: Server.new.options를 호출 할 수 있습니다. 이것은 당신의 레일 서버 명령의 -p (3001) 인수를 구문 분석, 또는 포트 3000로 설정됩니다.
레일스 서버가 실행되고있는 포트를 얻을 : [포트] 당신은 레일 :: Server.new.options를 호출 할 수 있습니다. 이것은 당신의 레일 서버 명령의 -p (3001) 인수를 구문 분석, 또는 포트 3000로 설정됩니다.
-
==============================
2.어떤 컨트롤러 액션 내부에서, 따라서 request.port의 내용을 확인 :
어떤 컨트롤러 액션 내부에서, 따라서 request.port의 내용을 확인 :
class SomeController < ApplicationController def some_action raise "I'm running on port #{request.port}." end end
-
==============================
3.두 가지 방법.
두 가지 방법.
당신이 컨트롤러 나 뷰의 요청에 응답하는 경우, 요청 개체를 사용 :
request.port
당신은 initialiser에있어 및 서버 옵션 해시를 사용하는 요청 개체에 액세스 할 수없는 경우 :
Rails::Server.new.options[:Port]
-
==============================
4.나는이 비트와 함께 주변 연주, 이것은 레일 5.1을위한 최상의 솔루션이 될 수 있습니다
나는이 비트와 함께 주변 연주, 이것은 레일 5.1을위한 최상의 솔루션이 될 수 있습니다
Rails::Server::Options.new.parse!(ARGV)[:Port]
-
==============================
5.레일 5.1 개발 서버하십시오.
레일 5.1 개발 서버하십시오.
if Rack::Server.new.options[:Port] != 9292 # rals s -p PORT local_port = Rack::Server.new.options[:Port] else local_port = (ENV['PORT'] || '3000').to_i # ENV['PORT'] for foreman end
-
==============================
6.(! 내 베이컨을 저장 한) 다른 답변에 구축, 나는 제정신 폴백을 줄이를 확장 :
(! 내 베이컨을 저장 한) 다른 답변에 구축, 나는 제정신 폴백을 줄이를 확장 :
개발의 경우 :
port = Rails::Server::Options.new.parse!(ARGV)[:Port] || 3000 rescue 3000
다른 모든 ENV 년대 :
port = Rails::Server::Options.new.parse!(ARGV)[:Port] || 80 rescue 80
구조 (80) 커버를 당신이 레일 콘솔을 실행하는 경우. 그렇지 않으면 나가서 설명하자면 NameError가 발생합니다 : 초기화되지 않은 상수는 레일 :: 서버. (어쩌면 조기 이니셜? 내가 잊지 ...)
|| 80 커버를 더 -p 옵션이 서버에 지정되지 않은 경우. 그렇지 않으면 nil을 얻을.
from https://stackoverflow.com/questions/1554267/how-to-find-the-local-port-a-rails-instance-is-running-on by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 동적 테이블 생성 (0) | 2020.02.20 |
---|---|
[RUBY-ON-RAILS] CORS - JSONP없이 도메인 간 AJAX 기원 서버를 허용함으로써 (0) | 2020.02.20 |
[RUBY-ON-RAILS] 레일 모범 사례에 루비 - 작은 컨트롤러 대 빅 컨트롤러 (0) | 2020.02.20 |
[RUBY-ON-RAILS] 루비 레일에 : form_for의 인수로 상징 (0) | 2020.02.20 |
[RUBY-ON-RAILS] PG : UndefinedTable : 오류 : 관계 "..."존재하지 않는 (0) | 2020.02.20 |