Rails创建操作:禁止的属性错误

时间:2017-01-05 15:17:01

标签: ruby-on-rails ruby sqlite

我是rails的新手,我正在输入表单中的信息并将其保存到数据库中。我正在关注可能已过时的教程。我在第二行收到错误。我传递了错误的参数吗?

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

1 个答案:

答案 0 :(得分:3)

我希望问题是你需要在将学生参数传递给Student.new之前对其进行处理,以免违反strong parameters系统。

试试这个:

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