Rails 4.0.3 Active-Admin has_many复选框不保存

use*_*443 11 checkbox has-many-through activeadmin ruby-on-rails-4

我使用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
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用has_and_belongs_to_many,但仍然无法获得保存的选择.

任何指导都将受到高度赞赏.

干杯

小智 21

我发现将以下内容添加到您的active_admin文件product.rb中可以修复它.

ActiveAdmin.register Product do
  permit_params category_ids: []
end
Run Code Online (Sandbox Code Playgroud)


sto*_*nko 5

尝试添加

permit_params :title, :price, category_ids:[:id], categories_attributes: [:id, :your_fields, :_update,:_create]

  • 请尝试详细说明您的答案,而不仅仅是发布代码. (3认同)