je suit si la déclaration à mon avis:Rails si l'instruction entraîne une erreur de nombre octal illégal?
<% if @kase.jobno[1,2].to_i == 10 then %>
<img src="../images/2010.jpg" alt="2010">
<% elsif @kase.jobno[1,2].to_i == 11 then %>
<img src="../images/2011.jpg" alt="2011">
<% else %>
<img src="../images/document.jpg" alt="Document" />
<% end %>
Il fonctionne parfaitement tout à fait, cependant, si je veux étendre la portée de la déclaration pour afficher une image particulière si le champ @ kase.jobno comprend de la numéro 08 et le changement de la déclaration à ce qui suit:
<% if @kase.jobno[1,2].to_i == 09 then %>
<img src="../images/20109.jpg" alt="2009">
<% elsif @kase.jobno[1,2].to_i == 10 then %>
<img src="../images/2010.jpg" alt="2010">
<% elsif @kase.jobno[1,2].to_i == 11 then %>
<img src="../images/2011.jpg" alt="2011">
<% else %>
<img src="../images/document.jpg" alt="Document" />
<% end %>
puis-je obtenir l'erreur suivante:
Illegal octal digit
quel point s à la valeur 09.
Est-il impossible d'avoir une instruction if qui compare avec un nombre 0X (nombre commençant par zéro et suivi d'un autre chiffre)?
Merci,
Danny
Pourquoi avez-vous besoin de comparer contre un nombre '0x' en premier lieu? Cela ne devrait-il pas être une comparaison de chaînes? –
Avec 0X, il voulait dire un nombre octal, au début je l'ai mal interprété comme hexadécimal ainsi – Veger
Salut Pekka, pour être honnête, je ne comprends pas assez pour répondre à la question. Nous avons des numéros d'emplois qui sont M09-123, où M est toujours présent, 09 est l'année en cours et 123 est l'identificateur unique (pour l'année). Donc, je voulais comparer la partie de l'année. – dannymcc