有没有办法告诉运行Rails应用程序(或通用Rack应用程序)的端口 在初始化程序中?
我希望能够基于端口或主机名加载不同的配置,以便连接到特定于主机的FaceBook应用程序。
我正在使用Rails 2.3.5。
答案 0 :(得分:2)
这不是很干净,但这是一种可以在调用时获得您声明的端口的方式:
rails server -p portnumber
您在应用程序中的任何位置(对于rails 3)
这是我的scripts / rails.rb文件:
#!/usr/bin/env ruby
# This command will automatically be run when you run "rails"
# with Rails 3 gems installed from the root of your application.
ENV['PORT']=ARGV[3]
APP_PATH = File.expand_path('../../config/application', __FILE__)
require File.expand_path('../../config/boot', __FILE__)
require 'rails/commands'
然后,只要您想获得服务器的端口号,您只需拨打ENV['PORT']
即可。
答案 1 :(得分:2)
您可以调用Rails::Server.new.options[:Port]
来获取正在运行Rails服务器的端口。这将解析-p
命令中的rails server
arg,或默认为端口3000
。
答案 2 :(得分:1)
基于这里缺少答案以及rubyforum上的这个主题:http://www.ruby-forum.com/topic/196017#new,我认为 可能没有标准的方法来告诉港口。