Comment puis-je vérifier si une variable est définie dans les rails?
<% if dashboard_pane_counter.remainder(3) == 0 %>
do something
<% end>
Si dasboard_pane_counter n'était pas défini, comment puis-je obtenir ce à false plutôt que de jeter une exception?
Vous devez vous connecter pour publier un commentaire.
if defined?(variable_name)
Lors de l'utilisation de rails et les variables d'instance, nul a un
try
méthode de définition, de sorte que vous pouvez faire:donc, si la variable d'instance n'est pas défini,
try(:anything)
sera de retour nul et, par conséquent, la valeur false. Etnil == 0
est faux1.9.3p392 :005 > @hh => nil 1.9.3p392 :006 > @hh.try(:anything) => nil
local_assigns peut être utilisé que, depuis que cette question est à partir d'un il ya quelques années, j'ai vérifié qu'il existe dans les versions précédentes de rails
C'est dans les notes ici
http://apidock.com/rails/ActionController/Base/render
L'affichage de cette réponse pour codeurs débutants comme moi. Cette question peut être répondue en utilisant simplement les deux étapes (ou à l'aide de &&). Il est plus long et moins jolie réponse, mais aide les nouveaux codeurs à comprendre ce qu'ils font et utilise une technique très simple qui n'est présent dans aucune des autres réponses encore. L'astuce est d'utiliser une instance (@) de la variable, il ne fonctionnera pas avec une variable locale:
Si @foo est défini, il sera de retour "bar", sinon pas (pas d'erreur). Donc en deux étapes:
Une autre façon, avec un joli bijou, est " andand.'
https://github.com/raganwald/andand
Place de
Je voudrais utiliser
C'est beaucoup mieux de code ruby!