Unpermitted parameter error while parameter specified in params in 控制器

Unpermitted parameter error whereas parameter specified in params in controller

我有一个 product 模型,它通过连接模型 category_product

category 模型有多对多关联

我有一个product/new.html.slim

 =simple_form_for @product, html: { multipart: true } do |t|
        = t.error_notification
        div class="form-group"
          = t.input :name, label: 'Nom',equired: true, input_html: { class: 'form-control' }
        div class="form-group"
          = t.input :description, label: 'Description', required: true, input_html: { class: 'form-control' }
        div class="form-group"
          = t.input :price, label: 'Prix', required: true, input_html: { class: 'form-control' }
        div class="form-group"
          = t.input :weight, label: 'Poids', required: true, input_html: { class: 'form-control' }
        div class="form-group"
          = t.association :categories, as: :check_boxes, label: "Catégories"
        = t.button :submit, value: "Valider",  class: "btn-success marge-bas"

当我提交表单时出现以下错误:

found unpermitted parameter: category_ids

尽管在我的 ProductController 中我允许 category_ids :

 def product_params
    params.require(:product).permit(
      :category_ids,
      :name,
      :price,
      :description,
      :weight,
      :picture,
      :picture1,
      :picture2,
      :picture3,

    )
  end

当我检查我的 params category_ids 是一个字符串数组时

"category_ids"=>["1", "2", "5", ""]

我做错了什么?

尝试将 product_params 重写为:

def product_params
  params.require(:product).permit(:name, ... :picture3, :category_ids => [])
end

category_ids 设置为允许参数列表末尾的数组应该可以解决此错误。

希望对您有所帮助!

我在阅读本书时 运行 遇到了这个 "Unpermitted parameter: category_ids" 错误,"Rails, Up And Running" 并添加 category_ids => [] 修复了它。谢谢你,Zo运行!