Контекст довольно прост, у меня есть модель курса, которая расширяется от FriendlyId следующим образом:
extend FriendlyId
friendly_id :friendly_name, use: [:slugged, :history]
def friendly_name
slugs = [self.type_name, self.name]
slugs << self.city.name if self.city
slugs << self.structure.name if self.structure
return slugs
end
И если я создам курс с тем же типом, названием, городом и структурой, я получаю следующую ошибку:
!! #<ActiveRecord::RecordNotUnique: PG::Error: ERROR: duplicate key value
violates unique constraint "index_courses_on_slug"
DETAIL: Key (slug)=(cours-sevillanas-copie-paris-12-la-trianera) already exists.
Я не понимаю, почему FriendlyId не добавляет порядковый номер в конце слага... Приветствуются любые предложения.
Я попытался вернуть строку вместо массива в методе friendly_name, но ошибка сохраняется.
Изменить
Удаление :history решает проблему.
Я также пробовал другие ветки (4.0-стабильная, 4.1.x) FriendlyId, но это не решает проблему.