Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Checkbox Rails 4.0.3 Active Admin有许多复选框未保存_Checkbox_Ruby On Rails 4_Activeadmin_Has Many Through - Fatal编程技术网

Checkbox Rails 4.0.3 Active Admin有许多复选框未保存

Checkbox Rails 4.0.3 Active Admin有许多复选框未保存,checkbox,ruby-on-rails-4,activeadmin,has-many-through,Checkbox,Ruby On Rails 4,Activeadmin,Has Many Through,我正在使用rails 4.0.3,并试图在Active Admin中设置多对多复选框。未保存复选框选择。这就是我所拥有的 class Product < ActiveRecord::Base has_many :categorizations has_many :categories, :through => :categorizations accepts_nested_attributes_for :categorizations end class Categor

我正在使用rails 4.0.3,并试图在Active Admin中设置多对多复选框。未保存复选框选择。这就是我所拥有的

class Product < ActiveRecord::Base
  has_many :categorizations
  has_many :categories, :through => :categorizations
  accepts_nested_attributes_for :categorizations
end

class Category < ActiveRecord::Base
  has_many :categorizations
  has_many :products, :through => :categorizations
  accepts_nested_attributes_for :categorizations
end

class Categorization < ActiveRecord::Base
  belongs_to :category
  belongs_to :product
end

ActiveAdmin.register Product do

  permit_params :title, :price, category_ids:[:id]

  form do |f|
    f.semantic_errors *f.object.errors.keys
    f.inputs "Product" do
      f.input :title
      f.input :price
      f.input :categories, :as => :check_boxes
    end
    f.actions
  end
end
类产品:分类
接受\u嵌套的\u属性\u用于:分类
结束
类类别:分类
接受\u嵌套的\u属性\u用于:分类
结束
类分类:复选框
结束
f、 行动
结束
结束
我也尝试过使用has_和_-belish_-to_-many,但仍然无法保存选择

任何指导都将不胜感激

干杯

尝试添加

permit_参数:title,:price,category_id:[:id],

类别属性:[:id,:您的字段,:\u更新,:\u创建]

我发现将以下内容添加到活动的\u管理文件product.rb中可以修复它

ActiveAdmin.register Product do
  permit_params category_ids: []
end

我想出来了。它应该是permit_params:title,:price,:category_id=>[]您应该将其作为答案发布并接受。请尝试详细说明您的答案,而不仅仅是发布代码。答案仍然是金色的!具体来说,对于强参数,必须这样做。传递给
permit_params
的列表通常只是一个“简单”参数列表,但如果您想要接收数组,则必须添加此答案中所示的参数。