Я создаю приложение Rails, и я застрял при создании слага для статьи с заданным вторым языковым стандартом.
Для основного языкового стандарта (французский) проверяется, есть ли у статьи уже заголовок, и если это так, добавьте целое число (id) в конце, но для второй локали (английской) он просто генерирует слаг, не проверяя, существует ли статья (что дает мне дублированные слаги).
Вот моя модель:
class Post < ActiveRecord::Base
translates :title, :slug, :content, fallbacks_for_empty_translations: true
active_admin_translates :title, :slug, :content, fallbacks_for_empty_translations: true
extend FriendlyId
friendly_id :slug_candidates, use: [:slugged, :globalize, :finders]
private
def slug_candidates
[:title, [:title, :deduced_id]] # works for main locale but not others
end
def deduced_id
self.class.where(title: title).count + 1
end
end
Как я могу добавить идентификатор в ярлык для дополнительных локалей, когда статья с таким же заголовком уже существует?
Спасибо за вашу помощь !
Мой проект:
- Рельсы 4.2.6
- ActiveAdmin 1.0.0.pre2
- Глобализация 5.0.1
- Дружественный идентификатор 5.1.0
- FriendlyId-глобализация 1.0.0.alpha2