2017-05-24 11 views
-3

今モデル(下記のコード)未定義方法各

def show 
    @protocol = Protocol.find(params[:id]) 
    end 

からレコードを引っ張る表示コントローラが、Iは@protocolを検査し、それがオブジェクトを返すという事実にある。

enter image description here

私の見解はshow.html.erbの名前とshow.html.erbのコードがあるさ:

<table id="test-table"> 

     <thead> 
     <% @protocol.each do |key, value| %> 
      <th><%= value %></th> 
     <% end %> 
     </thead> 

</table> 

私の見解では、私は@プロトコルのハッシュをループして各値を出力したいと考えています。しかし、私は未定義のメソッド '各エラー'を以下のように取得します。 enter image description here

なぜこのエラーが発生しますか?ハッシュをループすることはできませんか、または戻りオブジェクトはハッシュではありませんか?

答えて

2

プロトコルはハッシュではなく、Protocolモデルのインスタンスです。単一のレコードを「それぞれ」とすることはできません。プロパティとその値を繰り返し処理する場合は、@protocol.attributes.eachを使用します。