Comment je peux vérifier si un objet est null dans ruby on rails 2?
Je veux vérifier lors de mon objet @objectname
n'est pas égal à null pour afficher les valeurs de la @objectname
d'autre à montrer qu'aucune des valeurs trouvées.
J'ai essayé ceci:
<% if (@objectname != null) then %>
mais j'obtiens une erreur.
Vous devez vous connecter pour publier un commentaire.
c'est
nil
en Ruby, pasnull
. Et il suffit de direif @objectname
pour vérifier si elle n'est pas nulle. Et pas dethen
. Vous pouvez en savoir plus surif
syntaxe ici:http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Control_Structures#if
rails console
essayer déclarations à la voléethen
dans votreif
. Vous pouvez également expliquer un peu plus sur la façon de remplir la@reviews
(si elle est en fait.nil?
tout le temps) pour nous de vous donner quelques idées plus.empty?
, ou comme dit ci-dessus,present?
oublank?
Vous pouvez vérifier si un objet est nulle (null), en composant le présent? ou vide? .
ce retourne false si le projet est une chaîne vide ou le néant .
ou vous pouvez utiliser
c'est le même que le présent? avec un bang, et vous pouvez l'utiliser si vous n'aimez pas "à moins que".
cela renvoie true pour une chaîne vide ou le néant .
#blank?
et#present?
avoir d'autres implications que seulement si l'objet estnil
. Etthen
, bien que rare, est bien dans Ruby si les déclarations.Maintenant avec Ruby 2.3, vous pouvez utiliser
&.
opérateur ('solitaire de l'opérateur) pour vérifiernil
en même temps que l'accès à une valeur.https://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Operators#Other_operators
Utilisation
#try
à la place de sorte que vous n'avez pas à garder le contrôle denil
.http://api.rubyonrails.org/classes/Object.html#method-i-try
au lieu de
Dans votre exemple, vous pouvez simplement remplacer
null
avec " nil et il fonctionne parfaitement.Contrairement à ce que l'autre affiche dit, vous pouvez le voir ci-dessus que
then
fonctionne très bien en Ruby. Il n'est pas commun, mais c'est très bien.#blank?
et#present?
avoir d'autres répercussions. Plus précisément, si l'objet répond à#empty?
, ils vont vérifier si il est vide. Si vous allez à http://api.rubyonrails.org/ et de la recherche pour "vierge?", vous allez voir ce que les objets qu'il est défini sur et comment il fonctionne. En regardant les définition sur l'Objet, nous voyons "Un objet est vide si c'est faux, vide ou un espace blanc de la chaîne. Par exemple, “”, “ ”, nil, [] et {} sont tous vide". Vous devez vous assurer que c'est ce que vous voulez.Aussi, nul est considéré comme faux, et rien d'autre que de faux et nulle est considérée comme vraie. Cela signifie que vous pouvez directement placer l'objet dans le if, donc plus de manière canonique de l'écriture ci-dessus serait
Si vous avez explicitement le besoin de vérifier
nil
et pasfalse
, vous pouvez utiliser le#nil?
méthode, pour qui nul est le seul objet qui sera à l'origine de ce retour vrai.