Я использую Friendly_ID
для пули на моем сайте, и он работает ... вроде. Я правильно получаю доступ к маршрутам, но когда я следую ссылке на страницу, она все еще показывает идентификатор. Например, у меня есть ссылка, которая показывает следующее:Rails 4 + Friendly_id: URL-адрес не отображается slug
<%= link_to "X", location_path(@location, :id => "1")
который отображается URL, как localhost:3000/locations/1
, поэтому я изменил ссылку:
<%= link_to "X", location_path(@location, :id => "X")
который отображает правильно (localhost:3000/locations/X
), но когда вы смотрите на href
ссылки после перехода на страницу, она отображается как <a ... href="/locations/X.X">...</a>
.
Почему отображается ссылка X.X
, а не просто X
?
Я получаю следующую ошибку, когда я это делаю: 'Нет совпадений маршрутов {: action =>" show ",: controller =>" locations ",: id => nil} Отсутствующие необходимые ключи: [: id]'. У меня есть эта ссылка на домашней странице с несколькими местоположениями, поэтому '@ location' не знает, к какому' местоположению нужно ссылаться на –
. Как вы устанавливаете значение '@ location'. Если вы добавите свой код контроллера, это поможет продолжить обзор. – Dharam
Я закончил тем, что исправил это в контроллере, объявив другую переменную для каждого местоположения и назвав ее в пути –