Как установить root_url

В моем приложении Ruby on Rails 3.1 у меня есть ссылка, подобная этой:

<%= link_to 'Home', root_url %>

На моем разработчике. машина отображает ссылку с "localhost: 3000". При производстве он отображает ссылку с IP-адресом типа «83.112.12.27:8080». Я хотел бы заставить рельсы отображать адрес домена вместо IP-адреса. Как установить root_url?

22
задан Robert Reiz 15 December 2011 в 15:52
поделиться

1 ответ

Вы ищете опцию по умолчанию для ActionController . Таким образом, вы можете сделать что-то вроде:

class ApplicationController < ActionController::Base
  def default_url_options
    if Rails.env.production?
      {:host => "www.example.com"}
    else  
      {}
    end
  end
end

Это также работает для ActionMailer. Кроме того, оба могут быть установлены в вашей среде .rb или application.rb

# default host for mailer
config.action_mailer.default_url_options = {
  host: 'example.com', protocol: 'https://'
}

# default host for controllers
config.action_controller.default_url_options = {
  :host => "www.example.com"
}
41
ответ дан 29 November 2019 в 04:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: