2016-05-03 145 views
-1

我有一個CRUD操作設置爲博客未定義的局部變量或方法'博客」的

這是我的控制器

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 
    @blogs = Blog.all.order(created_at: :desc) 
    end 

    private 

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

end 

我的索引工作正常,但是當我點擊「讀郵報」的鏈接,我得到錯誤:未定義的局部變量或方法'博客」

我show.html.erb的代碼是

<html> 
    <head> 

    </head> 
    <body> 
    <div> 
     <h2><%= blog.title %></h2> 
     <h5><%= blog.body %></h5> 
    </div> 
    </body> 
</html> 

有人知道有什麼問題嗎?

回答

1

參考實例變量:

<h2><%= @blog.title %></h2> 
<h5><%= @blog.body %></h5> 

在你的控制器,你要設置實例變量@blog。 Rails將在您的控制器中使用所有已定義的實例變量,並在您的視圖中定義它們。這就是爲什麼你需要使用實例變種。

相關問題