不允许使用Rails的嵌套表单属性

时间:2019-12-24 11:04:49

标签: ruby-on-rails nested-forms

我有一个名为“团队组”的模型和一个嵌套的模型salesforce_user_roles,我的表单向我发送了以下信息

<ActionController::Parameters {"create_salesforce_user"=>"0", "delete_salesforce_user"=>"1", 
"salesforce_user_roles_attributes"=>
<ActionController::Parameters {
"0"=><ActionController::Parameters {"id"=>"11", "name"=>"Director, Channel Sales", "role_id"=>"00E7F000001AY", "_destroy"=>"false"}>, 
"1577184453507"=><ActionController::Parameters {"name"=>"Eastern Sales Team", "role_id"=>"00E7F0000016xFLUAY", "_destroy"=>"false"} } >} >

为了安全起见,我只允许几个参数。我正在使用params.require(:team_group).permit(:name, :salesforce_user_roles_attributes)  允许嵌套模型属性,但它没有在数据库中保存任何内容。如何允许嵌套模型参数?

1 个答案:

答案 0 :(得分:1)

您可以确认,是否在模型中添加了accepts_nested_attributes_for

如果是,请按照以下做法允许他们:

params.require(:team_group).permit(:name, salesforce_user_roles_attributes: [:id, :name, :role_id, :_destroy])

谢谢