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 № 1Ce 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