カテゴリモデルがあり、「FieldModule」というドキュメントが埋め込まれているフォームがあります。これには、「SubFieldModule」というドキュメントが埋め込まれています。
例えば
class Category
include MongoMapper::Document
key :name, String
many :field_modules
end
class FieldModule
include MongoMapper::EmbeddedDocument
key :name, String
many :sub_field_modules
end
class SubFieldModule
include MongoMapper::EmbeddedDocument
key :name, String
end
私のコントローラーで私は私が持っているアクションを編集します:
@category = Category.find(params[:id])
3.times do
@category.field_modules << FieldModule.new()
end
カテゴリに3つのFieldModuleを設定します。
このように各FieldModulesSubFieldModulesに対して同じことを実行できるようにしたい
@category.field_modules.each do |mf|
mf << SubFieldModule.new()
end
しかし、それは機能しません。
エラーが発生します:
NoMethodError in Sub categoriesController#edit
undefined method `<<' for #<FieldModule name: nil, _id: $oid4c2b9f594248ce19f000011b>
誰かがこれについて私を助けてくれますか?それから私はそれを1レベル深くする必要があるので同じことをします。