Si je vais dans le bon sens, alors:
Requête en cours
Model.select(:rating)
renvoie un tableau d'objets et vous avez écrit une requête
Model.select(:rating).uniq
uniq est appliqué sur un tableau d'objets et chaque objet a un identifiant unique. uniq exécute son travail correctement car chaque objet du tableau est uniq.
Il existe plusieurs façons de sélectionner une note distincte:
Model.select('distinct rating').map(&:rating)
ou
Model.select('distinct rating').collect(&:rating)
ou
Model.select(:rating).map(&:rating).uniq
ou
Model.select(:name).collect(&:rating).uniq
Encore une chose, première et deuxième requête: trouver des données distinctes par requête SQL.
Ces requêtes seront considérées comme "londres" et "londres" de la même manière qu'elles négligeront l'espace, c'est pourquoi elles sélectionneront "londres" une fois dans le résultat de votre requête.
Troisième et quatrième requête:
rechercher des données par requête SQL et pour des données distinctes, appliquez ruby uniq mehtod. ces requêtes seront considérées comme "londres" et "londres" différentes, c'est pourquoi il sélectionnera "londres" et "londres" dans le résultat de votre requête.
s'il vous plaît préférez à l'image ci-jointe pour plus de compréhension et jetez un œil sur "Toured / Awaiting RFP".