2015-03-13 68 views
0

我對Ruby on Rails很新穎,我試圖構建一個簡單的博客平臺,允許用戶使用設計進行身份驗證。當我填寫職位形成需要一個標題和內容字段,當我按下「創建信息」按鈕,我得到讀取Ruby on Rails「SystemStackError堆棧級別太深」錯誤

SystemStackError in PostsController#create stack level too deep 

看來,如果在我的PostsController「創造」的行動是錯誤的問題源於哪裏。誰能幫我?這是我的PostsController的樣子:

class PostsController < ApplicationController 

    before_action :authenticate_user! 

    def index 
     @posts = Post.all 
    end 

    def new 
     @post = Post.new 
    end 

    def create 
     @post = Post.new(params[:post]) 
    end 

    def show 
     @post = Post.find(params[:id]) 
    end 

    private 

    def params 
     params.require(:post).permit(:title, :content) 
    end 


end 

回答

4

容易,你叫params方法params法(遞歸)的機構 - 繁榮,無限循環。更改您自定義的名稱params方法:

def create 
    @post = Post.new(post_params) 
    # etc. 
end 

# ... 

def post_params 
    params.require(:post).permit(:title, :content) 
end 
+0

非常感謝!工作! – NdaJunior 2015-03-13 08:20:05

相關問題