Как создать ссылки с завершающим слэшем в Rails 3?
Я переношу существующий веб-сайт с PHP на Ruby on Rails 3, и мне нужно сохранить URL без изменений.
У меня есть маршрут:
get 'companies/' => 'companies#index', :as => :companies
В файле вида у меня есть:
link_to 'Companies', companies_path
и это генерирует URL-адрес "http://website.com/companies" вместо "http://website.com/companies/".
Я хочу слэш в конце URL. Возможно ли это?
Ответы
Ответ 1
Вы можете добавить это в свой application.rb:
config.action_controller.default_url_options = { :trailing_slash => true }
Таким образом, все маршруты будут сгенерированы с помощью косой черты автоматически, без необходимости изменять каждую ссылку в вашем проекте.
Ответ 2
Просто выполните следующие действия:
link_to 'Companies', companies_path(:trailing_slash => true)
Документация здесь.
Ответ 3
Я не мог найти ссылок, но добавление trainling_slash: true
в определение маршрута также работает (и избегает повторения себя).
get 'companies/' => 'companies#index', :as => :companies, :trailing_slash => true
Это было протестировано с помощью Rails 3.2.13:
rails c
1.9.3p327 :005 > app.companies_path
=> "http://www.example.com/companies/
Ответ 4
Для рельсов 3.2:
Rails.application.routes.default_url_options[:trailing_slash]= true