@Ceyoto

Как сделать редирект с домена 3-го уровня на второй при выборе тега?

Использую gem 'acts-as-taggable-on' для тегов.
На главной странице теги имеют адрес simple.com/tag/:tag, я так понимаю /tag/:tag подставляется к корню сайта.
При переходе на запись выбранного тега попадаю на домен 3-го уровня test.simple.com.
На этой же странице пытаюсь выбрать другой тег, но он уже с адресом test.simple.com/tag/:tag соответсвенно тоже подставляется к корню сайта.

Как сделать чтобы при выборе тега на домене 3-го уровня адрес тега был simple.com/tag/:tag?

View - вывод тегов
- tag_cloud Model.tags.tag_counts, %w[css] do |tag, css_class|
  = active_link_to tag.name, tag_path(tag.name), class: css_class, active: :exclusive


Здесь active: :exclusive - подстановка класса 'active' для выбранной записи от гема active_link_to. Здесь я так понял вообще не прокатит если будет домен 3-го уровня. Поскольку находясь на поддомене адрес тега будет отличаться от текущей страницы.

Поддомены делаю как описано в этой статье

routes.rb
get 'tag/:tag', to: 'home#index', as: :tag
  • Вопрос задан
  • 239 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Ceyoto Автор вопроса
Сделал так, но что-то мне подсказывает что есть более удачные способы
unless request.subdomain.blank?
  tag_path_url = tag_path.gsub!('/tag', 'tag') - здесь потому что при редиректе он добавляет два слеша перед 'tag'
  root = root_url(subdomain: false) + tag_path_url
  redirect_to root
end
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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