为每个环境指定rails 4主机

时间:2014-02-05 23:14:05

标签: ruby-on-rails ruby

使用Rails 4.0.0Ruby 2.0.0

我在我的rails控制台中查看了我的_urls_paths并注意到了

2.0.0p247 :001 > app.host
 => "www.example.com"
2.0.0p247 :001 > app.root_url
 => "http://www.example.com/"

host启动时将www.example.com设置为rails c只是默认行为,还是设置此域的配置?如果是这样,我如何为每个环境设置app.host变量/配置?

1 个答案:

答案 0 :(得分:0)

在Rails 4控制台中,app.host等访问“集成会话”:它似乎是控制台完全工作的占位符。显然,应用主机不可配置。参见Railties gem。

从v4.0.2开始:railties-4.0.2/lib/rails/console/app.rb

module Rails
  module ConsoleMethods
    def app(create=false)
      @app_integration_instance = nil if create
      @app_integration_instance ||= new_session do |sess|
        sess.host! "www.example.com"
      end
    end

    def new_session
      app = Rails.application
      session = ActionDispatch::Integration::Session.new(app)
      yield session if block_given?
      session
    end
  end
end

new_session方法允许选择主机。