3

我有一个项目模型和一个没有关系的类别模型。在项目模型的表单中,我希望能够选择项目所属的类别(复选框)(可以有很多)。类别有一个字符串标题和一组属于该标题的类别。

我有这个代码而不使用 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
4

1 回答 1

1

我不确定你到底想要什么,但你可以尝试这样的事情。如果你能澄清你在问什么,我会尽量给出更详细的答案。

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

其中listOfCategoryNames是所有类别名称的字符串数组。

于 2012-12-11T16:09:13.873 回答