Ich baue eine Rails-Anwendung und ich bleibe stecken, wenn ich Slug für einen Artikel mit dem zweiten definierten Gebietsschema erzeuge.
Für das Hauptgebietsschema (Französisch), es überprüft, ob ein Artikel bereits den Titel und wenn es der Fall eine Ganzzahl (ID) am Ende hinzufügen, aber für das zweite Gebietsschema (Englisch) ist es nur generieren den Slug ohne Prüfung, ob Artikel existiert (was mir Doppelschnecken gibt).Rails :: Generiere Slugs mit FriendlyId, Globalize und slug_candidates
Hier ist mein Modell:
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
Wie kann ich die ID hinzugefügt bekommen für sekundäre locales slug wenn Artikel bereits mit dem gleichen Titel existiert?
Danke für Ihre Hilfe!
Mein Projekt:
- Rails 4.2.6
- ActiveAdmin 1.0.0.pre2
- globalisieren 5.0.1
- FriendlyId 5.1.0
- 1,0 FriendlyId-globalisieren. 0.alpha2