Как запретить рельсам коверкать unicode ссылки?

routes.rb:
get '/адрес/на/русском', :to => 'controller#action, :as => :russian


= link_to 'моя ссылка на русский урл', russian_path


На выходе получаю:
<a href="%2F%D0%B0%D0%B4%D1%80%D0%B5%D1%81%2F%D0%BD%D0%B0%2F%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%BE%D0%BC">моя ссылка на русский урл</a>


а нужно:
<a href="/адрес/на/русском">моя ссылка на русский урл</a>
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ответы на вопрос 1
2ord
@2ord
Есть лучшее решение: gem https://github.com/romiras/rails-translate-routes
Gemfile:
gem 'rails-translate-routes', git: "https://github.com/romiras/rails-translate-routes.git"

позволяет хранить локализованные пути в файле config/locales/routes.yml
en:
  routes:
    # you can leave empty locales, for example the default one
es:
  routes:
    products: productos
    contact: contacto
    new: crear


а сами пути в коде остаются ясными
edit_product_es GET    /es/productos/:id/edit(.:format) {:action=>"edit", :controller=>"products"}

Ответ написан
Ваш ответ на вопрос

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

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