ユーザーが親オブジェクトの下にカテゴリの階層を作成できるJavaScriptフォームがあります。
階層は、次のように自己参照結合で作成されます。
class DefaultCategory < ActiveRecord::Base
belongs_to :client
belongs_to :parent, :class_name => "DefaultCategory", :inverse_of => :children
has_many :children, :class_name => "DefaultCategory", :inverse_of => :parent
end
このフォームが送信されたら、「parent_id」フィールドに適切に入力したいと思いますが、親も新しいレコードであり、ID をまだ持っていない可能性があります。
これまでの私の試みは、一度パラメータに解析されると次のようになります。
{"default_categories_attributes"=>
{"new_category_1"=>
{"id"=>"", "parent_id"=>"", "name"=>"New Category 1"},
"new_category_2"=>
{"id"=>"", "parent_id"=>"new_category_1", "name"=>"New Category 2"},
"new_category_3"=>
{"id"=>"", "parent_id"=>"new_category_2", "name"=>"New Category 3 "},
"new_category_4"=>
{"id"=>"", "parent_id"=>"new_category_3", "name"=>"New Category 4"}
}
}
これらの新しいレコードを正しく作成し、相互に参照することは、一括割り当てで可能ですか? おそらく、各子カテゴリを親の「children_attributes」にネストし、トップレベルの関連付けIDを取得して、何らかの方法で下方に複製することでしょうか?