2016-05-12 41 views
0

我試圖在生產模式下調試我的rails應用程序。 所以我想看看我從數據庫中得到哪個項目,但是當我在我的視圖中寫入時 <%= a %> 它顯示我<Item:0x007fa154cc5860>rails找到<Item:0x007fa154cc5860>

當我寫<%= a.id %>我得到錯誤 undefined method id for nil:NilClass

我該如何找到這<Item:0x007fa154cc5860> item?

控制器:

#analogs 
@analogs = [] 

@analogs_codes.each do |code| 
    i = Item.where(:code => code).first 
    if i != nil? 
    @analogs << i 
    end 
end 

,並查看:

<% @analogs.each do |a| %> 
    <%= a.id %> 
<% end %> 
+0

<%= item.id%>給你什麼? – Boltz0r

+0

什麼是'item'和'a'? – Pavan

+0

添加一些日誌或查詢或更多的代碼,這將有助於更好地幫助您 –

回答

2

在控制器試試這個:

@analogs = Item.where(code: @analogs_codes) 

這將返回唯一有效的記錄!

在視圖使用

<% @analogs.each do |a| %> 
    <%= a.id %> 
<% end %> 

PS:我不明白爲什麼你通過代碼循環和查找記錄,使用這麼多的查詢,然後在插入陣列時,這一切都可以在一氣呵成完成。

+0

我不知道我可以這樣做!謝謝! – user2950593

+0

隨時準備提供幫助。快樂編碼:) –

相關問題