2017-04-02 17 views
0

我寫它有一個評論控制器的應用程序,在控制器內部, 它有一個像爲什麼我需要在控制器中再次指定許可證?

def comment_params 
    params.require(:comment).permit(:text) 
end 

強大的參數,但我發現我還需要當我在使用

@comment = @post.comments.build(params[:comment].permit(:text))添加許可證創建方法或我會收到錯誤。

我想知道這裏的原因。我正在使用Rails5。

回答

1

爲什麼我需要在控制器中再次明確允許?

因爲您沒有使用您的comment_params

@post.comments.build(comment_params) 

沒有魔法,你應該使用你的方法。

在這段代碼中你不使用它:

@post.comments.build(params[:comment].permit(:text)) 
+0

我試過了,沒有錯誤,但文字不被讀取或者,爲什麼呢? –

+0

這是另一個問題。 –

+0

但是當我使用@ post.comments.build(params [:comment] .permit(:text))時它是正確的 –

相關問題