2016-05-12 5 views
0

Ich versuche, meine Rails-App im Produktionsmodus zu debuggen. Also ich will sehen, welches Element aus der Datenbank ich bekomme, aber wenn ich in meiner Sicht schreibe <%= a %> zeigt es mir <Item:0x007fa154cc5860>. Wenn ich schreibe <%= a.id %> bekomme ich den Fehler undefined method id for nil:NilClass.Schienen finden <Artikel: 0x007fa154cc5860>

Wie finde ich diesen <Item:0x007fa154cc5860> Artikel?

Controller:

#analogs 
@analogs = [] 

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

und Aussicht:

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

<%= item.id%> gibt Ihnen was? – Boltz0r

+0

Was sind 'item' und' a'? – Pavan

+0

fügen Sie einige Protokolle oder Abfrage oder mehr Code, der Ihnen helfen würde besser helfen –

Antwort

2

Kontroller Try this:

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

Dies wird Ihnen nur gültige Datensätze zurück !!

In Ansichten verwenden

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

PS: Ich verstehe nicht, warum Sie durch Codes Looping und Aufzeichnungen finden, verwenden so viele Abfragen und dann in Array einfügen, wenn dies alles in einem Rutsch erledigt werden kann.

+0

Ich wusste nicht, dass ich das tun kann! Vielen Dank! – user2950593

+0

immer bereit zu helfen. Glückliche Kodierung :) –

Verwandte Themen