Jer*_*ryA 4 nested-forms strong-parameters ruby-on-rails-4
我使用rails 4和嵌套表单和强参数.
我需要从一个表单更新多个模型.
这就是我宣布强大参数的方式.从父控制器.该协会是的has_many和belongs_to的顺序去Rundatum->材料 - > 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
Run Code Online (Sandbox Code Playgroud)
rails服务器的输出是:
Rundatum Load (0.6ms) SELECT "rundata".* FROM "rundata" WHERE "rundata"."id" = $1 LIMIT 1 [["id", 7]]
Unpermitted parameters: particle_sizes_attributes
Run Code Online (Sandbox Code Playgroud)
从一个表单更新多个模型时,声明强参数的方法是什么?
谢谢
如果ParticleSize嵌套在内Material,那么您也应该嵌套参数.
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1596 次 |
| 最近记录: |