2016-05-12 11 views
0

本番モードでレールアプリをデバッグしようとしています。 だから私はデータベースからどの項目を取得したいのですが、私の視点で書くとき <%= a %> それは私に<Item:0x007fa154cc5860>を示しています。rails find <Item:0x007fa154cc5860>

<%= a.id %>と書くと、エラー undefined method id for nil:NilClassが表示されます。

これをどのようにして見つけますか?<Item:0x007fa154cc5860>

コントローラー:

#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

いつでも手助けする準備ができています。ハッピーコーディング:) –

関連する問題