Как генерировать ссылки с косой чертой в Rails 3? - PullRequest
13 голосов
/ 26 июня 2011

Я портирую существующий веб-сайт с 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. Возможно ли это?

Ответы [ 4 ]

38 голосов
/ 01 февраля 2012

Вы можете добавить это к своему application.rb:

config.action_controller.default_url_options = { :trailing_slash => true }

Таким образом, все маршруты будут генерироваться с косой чертой автоматически, без необходимости изменять каждую ссылку в вашем проекте.

23 голосов
/ 26 июня 2011

Просто сделайте следующее:

link_to 'Companies', companies_path(:trailing_slash => true)

Документация здесь.

3 голосов
/ 05 августа 2013

Я не смог найти никаких ссылок, но добавление 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/
0 голосов
/ 06 июня 2013

Для рельсов 3.2:

Rails.application.routes.default_url_options[:trailing_slash]= true
...