/ / friendly-id, vérification de deux modèles / tables pour détecter les traces existantes - ruby-on-rails, friendly-id

friendly-id, vérifiant deux modèles / tables pour les slugs existants - ruby-on-rails, friendly-id

Imaginez l'itinéraire suivant:

get ":slug/:location"

où: la recherche déclenche un chercheur sur deux modèles différents (c.-à-d. Businnes, Person) en fonction du slug fourni.

Le problème auquel je suis actuellement confronté est que je n’ai pas trouvé le moyen de vérifier deux modèles différents pour les slugs existants tout en en générant un nouveau.

tl; dr: J'essaie d'éviter la situation dans laquelle deux modèles différents se voient attribuer la même limace.

Toute aide appréciée.

Réponses:

0 pour la réponse № 1

Ce que vous voulez faire est d'exécuter un validateur personnalisé dans chacun de vos modèles, celui-ci irait dans votre modèle d'entreprise, par exemple:

before_save :unique_slug

private

def unique_slug
self.slug = self.name + "-" + self.id unless
self.find_by_slug(:slug).blank? and Person.find_by_slug(:slug).blank?
end
end