Rails模型中的强参数

时间:2015-06-16 10:53:01

标签: ruby-on-rails ruby-on-rails-3 security strong-parameters

我有一个模型Peoples::Friend,我的friend.rb是:

attr_accessible :name, :age

由于质量分配漏洞,我删除了此行。我有这个控制器peoples_controller.rb

friend = Peoples::Friend.update_attributes(:name => "test", :age => 23)

我删除了以上行并添加了以下行:

friend = Peoples::Friend.update_attributes(peoples_friend_params)

并添加了此功能:

def peoples_friend_params
    params.require(:peoples_friend).permit(:name, :age)
end

现在,当我运行API时,它会显示ActionController::ParameterMissing (param is missing or the value is empty: peoples_friend)

有什么问题?

1 个答案:

答案 0 :(得分:0)

问题在于我调用此API的页面发送了params而不是peoples_friend。所以,我这样做了:

params.permit(:name, :age)