J'ai besoin de sélectionner des fourchettes de prix dynamiques soumises à partir d'un formulaire de recherche. Comment dois-je aborder cela avec des étendues? Je cherche quelque chose comme çaRails, travaillant avec named_scope
Painting.price_range ([ '1..500', '2000..5000'])
SELECT * FROM paintings WHERE price BETWEEN 1..500 **OR** BETWEEN 2000..5000 etc.
Meilleures salutations. Asbjørn Morell.
Très bien! Votre exemple fonctionne très bien: Painting.price_range ([['1', '200'], ['1000', '2000']]) Peinture Charge (0.4ms) SELECT * FROM 'paintings' O WH ((prix entre '1' et '200' ou prix entre '1000' et '2000')) Merci beaucoup de me donner la solution sur une plaque d'or comme ça :) – atmorell
J'ai quelques problèmes à essayer d'appeler la portée de un formulaire: Paramètres: {"commit "=>" Enregistrer les modifications "," search "=> {" price_range "=>" [[1, 1000]] "}} La requête générée à partir de ceci est: SELECT * FROM' pai ntings' WHERE ((prix entre '[[1, 1000]]' et '[[1, 1000]]')) Je pense que le problème est que la valeur de la forme n'est pas reconnue comme un tableau:/params [search] [price_range] .class retourne la chaîne au lieu du tableau. Des suggestions? – atmorell
Ouais, la solution dans la réponse est pour un tableau de plages plutôt qu'un tableau de paires. Si vous changez r.min et r.max pour r.first et r.last cela devrait fonctionner aussi pour les paires. – Shadwell