Подтвердить что ты не робот

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

4b9b3361

Ответ 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