J'ai un formulaire qui est utilisé pour filtrer les requêtes. Certains des attributs de formulaire sont facultatifs. Je me demande simplement comment les ajouter en tant que conditions d'enregistrement si (et seulement si) ils ont une valeur fixe? Il y en a un bon nombre, donc je préfère ne pas faire une requête séparée pour chaque modèle de valeurs potentielles. Aucune suggestion?Rails Débutant: Ajout de conditions dans activeecord?
Pour donner un exemple précis:
people = People.paginate(
:all,
:include => [:people_postcodes, :people_specialties, :people_states],
:conditions => ["people_specialties.people_type_id = %s AND (people_postcodes.postcode_id = %s OR people_states.state_id = %s)" % [self.people_type_id, postcodeid.id, stateid]],
:page => page,
:per_page => 16
)
Comment pourrais-je mieux s'y prendre pour créer une condition supplémentaire (dire « nationalité ») attribut que si l'option « nationalité » est peuplée?
+1 pour les informations sur l'injection SQL. Souhait qu'il y avait un tag (?) Sur SO appelé "Code dangereux" de sorte que les débutants (et certains oldies) sauraient que le code est "dangereux" – Zabba
Parfait - merci beaucoup. Aussi: arghh - Je pensais que les chaînes étaient automatiquement échappées en SQL; déteste que j'ai raté ça. Je viens juste d'apprendre les rails, surtout en parcourant d'autres codes source, mais c'est la deuxième fois que j'ai raté un problème de sécurité (était complétement inconscient de attr_accessible pour le premier mois). J'ai eu du mal à trouver une solide liste de problèmes de sécurité sur les rails et je suis un peu inquiet de ne pas pouvoir en trouver d'autres. Des suggestions sur où trouver un aperçu des problèmes de sécurité des rails communs? – PlankTon