2012-08-09 54 views
3

我有一個沒有關係的項目模型和類別模型。在項目模型的表單中,我希望能夠選擇項目所屬的類別(複選框)(可以有很多)。類別有一個字符串標題和一個屬於該標題的類別數組。simple_form如何表示mongoid數組

我有這段代碼沒有使用simple_form它列出了類別和複選框,像一個魅力的作品。我將如何使用simple_form來做到這一點?

<% @categories.each do |category| %> 
    <b><%= category.heading %></b><br /> 
    <% category.categories.each do |subcategory| %> 
    <%= check_box_tag "project[categories][]", subcategory,@project.categories.include(subcategory) %><%=subcategory%><br /> 
    <% end %><br /> 
<% end %> 

形成我嘗試更新的模型爲:

class Project 
    include Mongoid::Document 
    ... 
    field :categories, type: Array 
    ... 
end 

類別是順帶也存儲在Mongoid文件中,但沒有對項目的關係。

class Category 
    include Mongoid::Document 
    field :heading, type: String 
    field :categories, type: Array # should probably be called subcategories... 
end 
+0

項目文檔中是否嵌入了類別?項目是否應存儲子類別或類別?你能澄清你的分類模型嗎? – 2012-12-11 16:03:40

回答

1

我不確定你想要什麼,但你可以嘗試這樣的事情。如果你能澄清你的問題,我會試着給出更詳細的答案。

<%= simple_form_for @document do |f| %> 
     # other form inputs... 
     <%= f.input :categories, collection: listOfCategoryNames, as: :check_boxes %> 
     # other form inputs... 
    <% end %> 

其中listOfCategoryNames是所有的類別名稱的字符串的數組。