Comment effectuer une recherche entre une plage de dates à l'aide du modèle ActiveRecord?
Je suis nouveau à la fois de Rubis et d'ActiveRecord. J'ai actuellement un besoin de modifier et existant morceau de code pour ajouter une plage de dates dans le select. La pièce va comme ceci:
ReportsThirdparty.find(:all, :conditions => {:site_id=>site_id, :campaign_id=>campaign_id, :size_id=>size_id})
Maintenant, j'ai besoin d'ajouter une plage, mais je ne suis pas sûr de la façon de faire de la BETWEEN
ou >=
ou <=
opérateurs. Je suppose que ce que j'ai besoin est quelque chose de similaire à:
ReportsThirdparty.find(:all, :conditions => {:site_id=>site_id, :campaign_id=>campaign_id, :size_id=>size_id, :row_date=>"BETWEEN #{start_date} AND #{end_date}")
Même si cela n'travail, je sais que l'utilisation de l'interpolation ici ne me laisserait soumis à des attaques par injection SQL.
source d'informationauteur Russ Bradberry
Vous devez vous connecter pour publier un commentaire.
Je crois que vous pouvez passer un objet de la Plage à ActiveRecord est de trouver et d'obtenir ce que vous voulez:
Edit: Si vous êtes à l'aide de Rails 3, vous pouvez vous attendre à utiliser quelque chose de similaire à:
Pour plus d'informations sur les Rails de 3 Actifs de requêtes d'Enregistrement découvrez:
http://railscasts.com/episodes/202-active-record-queries-in-rails-3