ruby-on-rails-4 – Rails 4多个嵌套表单和强参数
发布时间:2020-12-17 02:54:40 所属栏目:百科 来源:网络整理
导读:我使用rails 4和嵌套表单和强参数. 我需要从一个表单更新多个模型. 这就是我宣布强大参数的方式.从父控制器. 关联是has_many和belongs_to按此顺序运行Rundatum- Material- ParticleSize def rundatum_params params.require(:rundatum).permit( :material,:c
我使用rails 4和嵌套表单和强参数.
我需要从一个表单更新多个模型. 这就是我宣布强大参数的方式.从父控制器. def rundatum_params params.require(:rundatum).permit( :material,:company_id,:material_density,:feed_moisture,:date,:building,:machine,:material_weight,:time_mins,:rate_lb_hr,:mill_amps,:class_amps,:mill_liner,:beater_plate_size,:mill_rpm,:class_rpm,:feeder_type,:feeder_setting,:feeder_aug_diameter,:tlgs_set,:air_pressure,:temp_mill_out,:temp_prod_out,:temp_ambient,materials_attributes: [:id,:name,:density,:msds_url,:moisture,:notes,:_destroy],particle_sizes_attributes: [:id,:screen,:percent_through,:percent_retained,:_destroy]) end rails服务器的输出是: Rundatum Load (0.6ms) SELECT "rundata".* FROM "rundata" WHERE "rundata"."id" = $1 LIMIT 1 [["id",7]] Unpermitted parameters: particle_sizes_attributes 从一个表单更新多个模型时,声明强参数的方法是什么? 谢谢 解决方法
如果您将ParticleSize嵌套在Material中,那么您也应该嵌套参数.
def rundatum_params params.require(:rundatum).permit( :material,{ materials_attributes: [:id,:_destroy,{ particle_sizes_attributes: [:id,:_destroy] }] }) end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |