J’utilise une instruction IF avec Ruby on Rails pour tenter de vérifier si les paramètres de requête sont définis. Indépendamment de si oui ou non les deux paramètres sont définies, la première partie de ce qui suit si le bloc se déclenche. Comment puis-je faire cette partie seulement se déclenche si les deux params [ : un] et params [ : deux] a la valeur ?
Réponses
Trop de publicités?Vous souhaitez has_key?
:
if(params.has_key?(:one) && params.has_key?(:two))
Vérifier simplement en if(params[:one])
va se laisser berner par un "mais " néant" et "mais faux" de la valeur et que vous vous dites à propos de l'existence. Vous pourriez avoir besoin de différencier:
- Pas là du tout.
- Mais il y
nil
. - Mais il y
false
. - Il y a, mais une chaîne vide.
ainsi. Difficile à dire sans plus de détails de votre situation précise.
utiliser le vide ? http://API.RubyOnRails.org/classes/Object.html#Method-i-Blank-3F
renvoie la valeur true si son vide ou nulle
aussi... cela ne fonctionnera pas si vous testez valeurs booléennes... depuis
dans ce cas, vous pourriez utiliser