【问题标题】:Rails 4 Multiple Nested Forms and Strong ParametersRails 4 多个嵌套表单和强参数
【发布时间】:2014-11-03 19:55:05
【问题描述】:

我正在使用 rails 4 和嵌套表单以及强参数。

我需要从一个表单更新多个模型。

这就是我声明强参数的方式。从父控制器。 关联是 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" = $1 LIMIT 1  [["id", 7]]

Unpermitted parameters: particle_sizes_attributes

从一个表单更新多个模型时,声明强参数的方法是什么?

谢谢

【问题讨论】:

    标签: ruby-on-rails-4 nested-forms strong-parameters


    【解决方案1】:

    如果您将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
    

    【讨论】:

    • 我觉得这个话题有答案了,我明天检查-> stackoverflow.com/questions/17569999/…
    • 就是这样!我很惊讶这在互联网上并不容易找到。 uides.rubyonrails.org 应该将其添加到强大的参数示例中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多