Как заставить Rails не игнорировать косые черты в маршрутах? - PullRequest
2 голосов
/ 27 июня 2011

Например, у меня есть рут в маршрутах. Rb:

get 'companies/' => 'companies#index', :as => :companies

Есть способ создать ссылку с косой чертой (например, "http://website.com/companies/"):

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

Но я хочуRails для генерации ссылки с косой чертой, если она присутствует в маршруте по умолчанию:

link_to 'Companies', companies_path

Теперь она генерирует что-то вроде "http://website.com/companies". Как это исправить?

Ответы [ 2 ]

7 голосов
/ 22 ноября 2011

Я не уверен, почему вам нужны ваши маршруты, чтобы понять, что есть косая черта.Неважно, если вы поставите косую черту в Rails.Он должен реагировать в любом случае.

Если вы хотите, чтобы все ваши ссылки имели косую черту, вы можете поместить следующее в ваш application.rb:

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

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

0 голосов
/ 27 июня 2011

Как насчет реализации помощника по имени link_to_with_trailing_slash (имя, путь)?

def link_to_with_trailing_slash(name, path)
  link_to(name, "#{path}/"
end
...