2016-03-02 2 views
1

Я использую 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?

ответ

1

idlocation_path не обязательно. Он будет поднят с @location. Drop id от location_path и он должен исправить проблему.

+0

Я получаю следующую ошибку, когда я это делаю: 'Нет совпадений маршрутов {: action =>" show ",: controller =>" locations ",: id => nil} Отсутствующие необходимые ключи: [: id]'. У меня есть эта ссылка на домашней странице с несколькими местоположениями, поэтому '@ location' не знает, к какому' местоположению нужно ссылаться на –

+0

. Как вы устанавливаете значение '@ location'. Если вы добавите свой код контроллера, это поможет продолжить обзор. – Dharam

+0

Я закончил тем, что исправил это в контроллере, объявив другую переменную для каждого местоположения и назвав ее в пути –

Смежные вопросы