2016-05-02 9 views
-1

Ich erhalte den Fehler undefined method jeder‘für nil: NilClass`Error- nicht definierte Methode `jeder‚für nil: NilClass

Ich habe die Beiträge über sie gelesen, aber ich kann immer noch nicht herausfinden, was los ist.

Hier ist mein Controller:

class BlogsController < ApplicationController 

    def new 
    @blog = Blog.new 
    end 

    def create 
    @blog = Blog.new(blog_params) 

    if @blog.save 
     redirect_to @blog 
    else 
     render 'new' 
    end 
    end 

    def show 
    @blog = Blog.find(params[:id]) 
    end 

    def edit 
    end 

    def destroy 
    end 

    def index 

    end 

    private 

    def blog_params 
     params.require(:blog).permit(:title, :body, :image) 
    end 

end 

Und meiner Meinung nach für index.html.erb:

<html> 
    <head> 

    </head> 
    <body> 
    <% @blogs.each do |blog| %> 
    <h3><%= @post.title %></h3> 
    <div><%= @post.body %></div> 
    <% end %> 
    </body> 
</html> 

Der vollständige Fehler undefined method jeder‘war für nil: NilClass`

Antwort

2

Ihre index Methode nichts zurückgibt. Es sollte so sein:

def index 
    @blogs = Blog.all 
    end 
0

@ Beitrag ist nicht definiert. Sie sollten sein Ausgabe des blog Objekt:

<html> 
    <head> 
    </head> 
    <body> 
    <% @blogs.each do |blog| %> 
    <h3><%= blog.title %></h3> 
    <div><%= blog.body %></div> 
    <% end %> 
    </body> 
</html> 
Verwandte Themen