我有一个Campaign模型和一个Category模型。他们彼此之间有很多关系。中间模型是campaign_categories。 运动:
class Campaign < ActiveRecord::Base
attr_accessible :name, :carousel_image, :show_in_carousel, :title, :carousel_description,
:video_embed_code, :goal, :end_date, :backer_count, :author_name, :author_photo,
:author_description_md, :author_description_html, :description_markdown, :description_html,
:funds_description_md, :funds_description_html, :campaign_status_id
#associations
has_many :campaign_categories
has_many :categories, through: :campaign_categories
端
类别:
class Category < ActiveRecord::Base
attr_accessible :name
#associations
has_many :campaign_categories
has_many :campaigns, through: :campaign_categories
end
Campaign_Category:
class CampaignCategory < ActiveRecord::Base
attr_accessible :campaign_id, :category_id
belongs_to :campaign
belongs_to :category
end
我在campaign.rb中关注了Activeadmin:
ActiveAdmin.register Campaign do
form :html => { :enctype => 'multipart/form-data'} do |f|
f.inputs "Campaign Basic Information" do
f.input :name
f.input :categories
end
f.actions
end
end
类别在多选框中正确显示。但是我在表单提交时收到以下错误: 无法批量分配受保护的属性:category_ids
我尝试在Campaign中调用accepts_nested_attributes_for:类别,但这不起作用。我该如何解决这个问题?感谢。
答案 0 :(得分:1)
在Campaign模型中为您的attr_accessible调用添加:category_ids应该这样做