2014-11-05 55 views
0

我是新來的Rails,看到提交本地主機的形式時,這個錯誤:3000 /用品/新http://guides.rubyonrails.org/getting_started.html Rails的錯誤:NoMethodError在文章#顯示

NoMethodError in Articles#show 

我沿着http://guides.rubyonrails.org/getting_started.html教程步驟進行操作。

class ArticlesController < ApplicationController 
    def new 
    end 

    def create 
    @article = Article.new(article_params) 

    @article.save 
    redirect_to @article 
    end 

    private 
    def article_params 
     params.require(:article).permit(:title, :text) 
    end 

    def show 
     @article = Article.find(params[:id]) 
    end 

    def index 
     @articles = Article.all 
    end 
end 

這裏是我的代碼的Github存儲庫的鏈接。我正在使用Rails版本4.1.7。任何幫助將不勝感激!

https://github.com/z20/rails_start

+0

歡迎來到Stack Overflow!雖然簡要版本的錯誤和Github回購鏈接很好,但最好提供錯誤消息的詳細版本和錯誤觸發代碼的片段。對於這些信息的代碼格式也是很好的做法 - 在眼睛上更容易。 – thohl 2014-11-05 00:41:01

回答

2

您的代碼:

class ArticlesController < ApplicationController 
    def new 
    end 

    def create 
    @article = Article.new(article_params) 

    @article.save 
    redirect_to @article 
    end 

    private 
    def article_params 
     params.require(:article).permit(:title, :text) 
    end 

    def show 
     @article = Article.find(params[:id]) 
    end 

    def index 
     @articles = Article.all 
    end 
end 

應改爲:

class ArticlesController < ApplicationController 
    def new 
    end 

    def create 
    @article = Article.new(article_params) 

    @article.save 
    redirect_to @article 
    end 

    def show 
    @article = Article.find(params[:id]) 
    end 

    def index 
    @articles = Article.all 
    end  

    private 
    def article_params 
     params.require(:article).permit(:title, :text) 
    end 
end 

show是在你的代碼私有的,應該是公開的。在你的行動後移動私人。當您在課堂中設置private時,在該特定課程之外的任何內容private都將無法訪問。

+0

是的,這是解決方案 – 2014-11-05 01:17:37