當我迭代通過我的Items數組時,我試圖打印該項目以及數組中的前一項,但我在這方面遇到了一些困難。我想要打印的每張圖像都與項目名稱相同。 在那裏我得到我的錯誤的代碼如下:Rails未定義的方法`name'爲零:NilClass
<% @items.each do |item| %>
<img src="/assets/<%= item.name %>.jpeg" >
//This is where I get my error//
<img src="/assets/<%= @items[item.id - 1].name %>.jpeg" >
<% end %>
它打印出的錯誤:未定義的方法'名」的零:NilClass。但是,如果我將發生錯誤的行更改爲「<%= @items [item.id] .class%>」,則表明該類是一個Item而不是零。此外,如果我硬編碼的數字,如「.jpeg」>「」軌正確輸出圖片。
日誌項目,我敢打賭,有一個零在那裏。您的測試項目[item.id] .class實際上沒有使用正確的數組索引來測試。你可以嘗試items.each_with_index do | item,i |和項目=項目[我]來確認它確實爲零。這是我的猜測。 – digidigo
如果您打印item.class,它會說什麼? –
代碼item.class打印它是一個Item對象(我相信這是@items是一個數組)。 –