У меня уже установлена Friendly Id, следуя всем инструкциям от Home page.Использование дружественного идентификатора для создания значимых URL-адресов для похожих имен с разными значениями слизняков. Rails 4
Короче говоря, я добавил колонку module
и slug
в моей Место модели таблицы.
в моем place.rb
extend FriendlyId
friendly_id :name, use: [:slugged, :finders, :history]
Я побежал Place.find_each(&:save)
.
Теперь значение name
может быть другим, так как есть много мест с одинаковыми именами. Так что в действии индекса, когда я вызываю действие show, используя id
, я получаю правильные результаты, но URL-адреса выглядят плохо, однако, когда i вызывать действие show с использованием friendly_id
, url здесь тоже плохо с его токеном uniq, как и прикрепленная строка, а также я всегда получаю неправильный результат.
например. Для записи с name
значение как Бурвуд, может быть несколько записей too.However, есть две проблемы: -
- Мои URLs должны быть как
www.mysite/sydney/burwood
вместоwww.mysite/sydney/21
, если я используюid
и неfriendly_id
(что выглядит странно - www.mysite/sydney/burwood-78894aa3-dea1-4915-b2f7-038182511005), Как справиться с этим. ?? - Если я Dont использовать Id и использовать
friendly_id
в качестве параметра URL-адреса, для подобных мест значения Бурвуда, я всегда получаю первую запись, даже если я с просьбой о других one.So в БДЕ,name
значенияburwood
, имеющими две записи, мои ценности пуль разные -burwood
иburwood-78894aa3-dea1-4915-b2f7-038182511005
Таким образом, если использовать идентификатор в качестве параметра URL-адреса, он работает как идентификаторы являются уником и слизни не рассматривается, но я хочу, чтобы URL быть более значимым.
Однако, если я использую friendly_id, url выглядит странно, а также уникальная запись не подбирается.
Просьба помочь
я могу добиться этого с помощью to_param, но как я могу сделать мои URLs довольно .Я не хочу, чтобы показать мой Id в URL-адреса ... – Milind
Вы? может добавить столбец 'guid' и создать уникальный идентификатор с помощью' SecureRandom.hex (4) 'для создания случайной уникальной строки/id. Длина будет в два раза больше, поэтому 8 символов длиннее, если мы используем значение 4. – codyeatworld
Я могу добавить пример, если вы хотите. – codyeatworld