我需要从一个表单更新多个模型.
这就是我宣布强大参数的方式.从父控制器.
关联是has_many和belongs_to按此顺序运行Rundatum-> Material-> ParticleSize
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" = 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总结
以上是内存溢出为你收集整理的ruby-on-rails-4 – Rails 4多个嵌套表单和强参数全部内容,希望文章能够帮你解决ruby-on-rails-4 – Rails 4多个嵌套表单和强参数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)