Я использую friendly_id для добавления пользовательских моделей в свои модели и соответствующих им URL.В настоящее время у меня есть настройки, где Post
принадлежит Board
.Несомненно, будут случаи, когда сообщение будет иметь заголовок, идентичный другому, но с другой доски объявлений.Часто я замечал, что сайты (включая SO) добавляли уникальный набор чисел перед слагом, чтобы убедиться, что нет никаких проблем с уникальностью:
https://stackoverflow.com/questions/123456/my-example-question
Мне было интересно, что будет лучшим подходом для достижения этой цели?Это не может быть сделано исключительно через файл маршрутов, потому что все еще существует возможность создания двух или более идентичных сообщений.Будет ли это комбинация изменения моей модели, файла маршрутов и конфигурации гемов friendly_id?
Моя конечная цель - создать URL-адрес для моих сообщений, подобный этому:
https://example.com/boards/example-board/123456/example-post
class Board < ApplicationRecord
extend FriendlyId
has_many :posts
friendly_id :name, use: :slugged
end
class Post < ApplicationRecord
extend FriendlyId
belongs_to :board
friendly_id :title, use: :slugged
end
resources :boards do
scope module: :boards do
resources :posts
end
end