我想知道如何为多态关联准备工作表单(使用simple_form)。使用这些模型:
class Poster < ActiveRecord::Base
belongs_to :kind, polymorphic: true
end
class Category < ActiveRecord::Base
has_many :posters, as: :kind
has_many :subcategories, dependent: :destroy
accepts_nested_attributes_for :subcategories
def self.with_subcategories
self.all.map { |category| category.subcategories }
end
end
class Subcategory < ActiveRecord::Base
belongs_to :category
has_many :posters, as: :kind
end
我希望用户能够创建一张海报,并为其分配一个现有的类别或子类别。在数据库(海报)我有kind_id和kind_type,但我不知道如何建立一个正确的形式。我试过这样的事情(只是用子类进行测试)但它甚至没有接近正确:
= simple_form_for @poster do |f|
= f.input :description
= f.input :title
= f.input :kind, collection: Category.with_subcategories
= f.submit
有关如何正确操作的任何线索?