我有以下的,如果在我看來聲明:Rails if語句導致非法的八進制數字錯誤?
<% 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 %>
它可以萬無一失了,但是,如果我想擴大報表合併範圍以顯示特定圖像,如果@ kase.jobno字段包括號08和改變的語句如下:
<% 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 %>
然後我得到以下錯誤:
Illegal octal digit
這點s到09的價值。
是否不可能有一個if語句與0X(從0開始,然後是其他數字)的數字進行比較?
感謝,
丹尼
你爲什麼要對一個'0x'數量擺在首位比較比較?這不應該是一個字符串比較嗎? – 2010-09-05 09:13:53
0X他的意思是一個八進制數,起初我把它誤解爲十六進制 – Veger 2010-09-05 09:18:20
嗨Pekka,說實話我沒有足夠的理解來回答這個問題。我們的工作號碼是M09-123,其中M始終存在,09是當年,123是唯一(當年)標識符。所以我想比較一下年份。 – dannymcc 2010-09-05 09:19:32