2017-01-05 17 views
0

私はレールを初めて使い、フォームに情報を入力してデータベースに保存しています。私は古いかもしれないチュートリアルに従っています。 2行目にエラーが表示されます。間違ったパラメータを渡していますか?Railsはアクションを作成します:禁止された属性エラー

def create 
    @student = Student.new(params[:student]) 
    if @student.save 
     redirect_to new_student_path 
    end 
end 
+1

あなたの質問を編集し、あなたの「学生」モデルについての詳細を追加してください。また、エラーの完全なスタックトレースを追加してください。 –

+0

'params [:student]'の中身を投稿できますか?予約された値を使用している可能性があります。 – Abhi

答えて

3

私はこの問題は、あなたがstrong parametersシステムのファウルを落ちないように、Student.newに渡す前に、学生のパラメータを処理する必要があるということです期待しています。

はこれを試してみてください:

def create 
    @student = Student.new(student_parameters) 
    if @student.save 
    redirect_to new_student_path 
    end 
end 

private 

def student_parameters 
    params.require(:student).permit(:name, :age) 
end 

あなたはホワイトリストにしたい属性のリストで:name, :ageを置き換える強力なパラメータ緩和するがhereを見つけることができるという質量割り当ての脆弱性に関する

詳しい情報を(スルーが可能)。

+0

これは動作します。リンクありがとう – BigL

関連する問題