3

関連のないプロジェクト モデルとカテゴリ モデルがあります。プロジェクト モデルのフォームで、プロジェクトが属するカテゴリ (チェック ボックス) を選択できるようにしたいと考えています (多くの場合があります)。カテゴリには、1 つの文字列見出しと、その見出しに属する一連のカテゴリがあります。

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 に答える