2017-08-06 2 views
-1

何が起こっていますか? (すべてのビューページから1つのコントローラにアクセスすることもできますか?)私にはうまく見えますが、何が起こったのかわかりませんが、このエラーは "未定義メソッド` each 'for Nil:NilClass "これが起こったのは非常に悲しいことです。未定義メソッド `each 'はnil:NilClassです。何が起こった?

マイコントローラ:

def create 
    Venue.create(params[:venue_params]) 
    end 

    def index 
    @venues = Venue.all 
    end 

    def show 
    @venues = Venue.all 
    end 

    def info 
    @venues = Venue.all 
    end 

マイビュー:

<table> 
    <tr> 
     <th> Venues </th> 
    </tr> 
    <%= @venues.each do |venue| %> 
     <tr> 
     <td><%= venue.venue_name %> </td> 
     </tr> 
     <% end %> 
</table> 

答えて

0

それは@venuesが記録されていないため、エラーを防ぐために従うよう、コードで各操作を行う前に、あなたが最初にそれを確認することができます

<table> 
    <tr> 
     <th> Venues </th> 
    </tr> 
    <% if @venues %> 
     <%= @venues.each do |venue| %> 
     <tr> 
     <td><%= venue.venue_name %> </td> 
     </tr> 
     <% end %> 
    <% end %> 
</table> 
+0

これはレコードがないということですか?データベースに記録されていないのと同じですか? – lunchpony

+0

はい、 "nil"は内部に内容がないことを意味します。 – widjajayd

関連する問題