Ruby on rails Api中的自定义字段

Ruby on rails Api中的自定义字段,ruby-on-rails,ruby,api,validation,Ruby On Rails,Ruby,Api,Validation,我想为提供姓名、地址、pincode、联系人等详细信息的客户编写一个post API。客户可以从仪表板添加任何字段(即使不是上面列出的字段),即动态属性。因此,Api白名单进程不知道字段(customer_add_params.permit{}) 如何操作?您可能希望使用如下嵌套权限: params.require(...).permit( :name, :contact, :proofs => [:description, :file] ) 这将允许一个名称、一个联系人和一个必须命

我想为提供姓名、地址、pincode、联系人等详细信息的客户编写一个post API。客户可以从仪表板添加任何字段(即使不是上面列出的字段),即动态属性。因此,Api白名单进程不知道字段(customer_add_params.permit{})


如何操作?

您可能希望使用如下嵌套权限:

params.require(...).permit(
  :name, :contact, :proofs => [:description, :file]
)
这将允许一个
名称
、一个
联系人
和一个必须命名的数组证明,并且在该数组中只允许属性
说明
文件


从关于嵌套参数的文档中:

也可以对嵌套参数使用“允许”,例如:

params = ActionController::Parameters.new({
  person: {
    name: 'Francesco',
    age:  22,
    pets: [{
      name: 'Purplish',
      category: 'dogs'
    }]
  }
})

permitted = params.permit(person: [ :name, { pets: :name } ])
permitted.permitted?                    # => true
permitted[:person][:name]               # => "Francesco"
permitted[:person][:age]                # => nil
permitted[:person][:pets][0][:name]     # => "Purplish"
permitted[:person][:pets][0][:category] # => nil

您计划如何在数据库中存储具有未知名称的属性?连载?文档存储?我不会存储它们。它只意味着一次性使用。我只是把数据推到IPFS上,而不是存储在本地数据库上。您是否考虑过推送未允许的参数(<代码> PARAM[[键] < /COD>)]?是的,但是没有办法在PARAMS上动态许可吗?谢谢。