Rails 3.x длина TLD - PullRequest
       15

Rails 3.x длина TLD

8 голосов
/ 16 августа 2011

Есть ли где-то в конфигурации Rails, где я могу глобально установить длину TLD равной 2 (например, co.uk), чтобы request.domain и request.subdomain обрабатывали правильно, не пропуская опции?

То есть request.domain (2), по умолчанию Rails кажется установленным в 1 по умолчанию, и имеет смысл иметь возможность изменить это глобально, однако не смог найти ничего в документации.

Существует ли такая опция конфигурации?

Ответы [ 3 ]

11 голосов
/ 12 апреля 2013

В вашем файле config / environment / production.rb добавьте эту строку:

config.action_dispatch.tld_length = 2

config.action_dispatch.tld_length устанавливает длину TLD (домена верхнего уровня) для приложения. По умолчанию 1.

http://guides.rubyonrails.org/configuring.html

8 голосов
/ 16 августа 2011

В Rails 3.1 вы можете установить:

ActionDispatch::Http::URL.tld_length = 2
2 голосов
/ 16 августа 2011

Для Rails 3.0.9 и ниже такой конфигурации нет, поскольку источник domain:

# File actionpack/lib/action_dispatch/http/url.rb, line 78
def domain(tld_length = 1)
  return nil unless named_host?(host)

  host.split('.').last(1 + tld_length).join('.')
end

Источник: http://apidock.com/rails/v3.0.9/ActionDispatch/Http/URL/domain

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...