相关疑难解决方法(0)

Rails 5强参数,在复选框值内有一个数组

考虑到这些参数:

"product"=><ActionController::Parameters {"id"=>"",
"category_ids"=><ActionController::Parameters {"2"=>"1", "3"=>"1", "4"=>"1"} ,
"name"=>"...", "description"=>"a good prod", "size"=>"2x3m", "price"=>"23$", "url_video"=>"http://...", "remarks"=>"bla"} 
Run Code Online (Sandbox Code Playgroud)

我想CATH category_ids PARAMS { "2"=> "1", "3"=> "1", "4"=> "1"}用正确的permitrequiresintax,比我不知道:

执行时

params.require(:product).permit(:name, :size,..., category_ids: [] )
Run Code Online (Sandbox Code Playgroud)

结果是

Unpermitted parameters: id, category_ids
Run Code Online (Sandbox Code Playgroud)

我试过params.require(:product).permit(:category_ids[:id,:val])......和其他变种

什么是正确的sintax?

PD:这些参数是例如:

<input type="checkbox" name="product[category_ids][2]" id="product_category_ids_2" value="1">
<input type="checkbox" name="product[category_ids][3]" id="product_category_ids_3" value="1">
Run Code Online (Sandbox Code Playgroud)

为了一个has_and_belongs_to_many关系

class Product < ActiveRecord::Base
  has_many :images, dependent: :destroy
  has_and_belongs_to_many :categories, autosave: true

  attr_accessor :category_list

end

class Category < ActiveRecord::Base
  has_and_belongs_to_many :products …
Run Code Online (Sandbox Code Playgroud)

checkbox ruby-on-rails strong-parameters

3
推荐指数
1
解决办法
1991
查看次数