Как генерировать ссылки с трейлинг-слешем в 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-адреса. Возможно ли это?

4 ответов


вы можете добавить в ваше приложение.rb:

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

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


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

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

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


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

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

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