Mongoid中使用强参数的动态哈希字段
发布时间:2020-12-16 22:59:21 所属栏目:百科 来源:网络整理
导读:因此,似乎没有任何干净的方法来一般地允许具有强参数的Hash字段.这当然可能是一个强大的参数问题,但我很好奇是否有解决方法.我有一些领域的模型…… field :name,type: Stringfield :email,type: Stringfield :other_stuff,type: Hash,default: {} 现在我可
因此,似乎没有任何干净的方法来一般地允许具有强参数的Hash字段.这当然可能是一个强大的参数问题,但我很好奇是否有解决方法.我有一些领域的模型……
field :name,type: String field :email,type: String field :other_stuff,type: Hash,default: {} 现在我可以允许一切: params.require(:registration).permit! 但这不是一个好主意,我想做的是…… params.require(:registration).permit(:name,:email,{other_stuff:{}}) 但是,使用强参数似乎不可能实现这一点,不可能将哈希列入白名单(对于以SQL为中心的ActiveRecord API而言!).任何想法如何做到这一点,或者我最好提交一个Rails补丁来允许这种情况. 解决方法
好了,经过研究,我找到了一个优雅的解决方案,我也会开始使用它:
params.require(:registration).permit(:name).tap do |whitelisted| whitelisted[:other_stuff] = params[:registration][:other_stuff] end 来源:https://github.com/rails/rails/issues/9454#issuecomment-14167664 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |