Использование awesome_nested_set во вложенной форме - PullRequest
0 голосов
/ 09 июня 2011

Я использую Rails 3.0.7 с awesome_nested_set и пытаюсь создать вложенную форму, которая позволит мне вводить категорию и подкатегории в одной форме создания.

Вот моя категория модели, контроллера и формы

category.rb

class Category < ActiveRecord::Base
  acts_as_nested_set
end

categories_controller.rb

class CategoriesController < InheritedResources::Base
  def new
    @category = Category.new
    3.times { @category.children.build(:name => "test") }
  end
end

форма

= form_for @category do |f|
    -if @category.errors.any?
        #error_explanation
            %h2= "#{pluralize(@category.errors.count, "error")} prohibited this category from being saved:"
            %ul
                - @category.errors.full_messages.each do |msg|
                    %li= msg

    .field
        = f.label :name
        = f.text_field :name

    %p Sub categories
    = f.fields_for :children do |child|
        = child.text_field :name

    .actions
        = f.submit 'Save'

Проблема здесь в том, что в моей форме только одна подкатегория, и ей не присвоено имя «test», поэтому я не верю, что это на самом деле дочерний элемент категории, показанной здесь.

Что мне здесь не хватает?

Можно ли это сделать?

Есть ли более простой способ?

Обновление Если я изменю свою форму на следующую, то она отображает три подкатегории, каждая из которых имеет имя «test». Это не сохранит правильно, хотя.

%p Sub categories
- @category.children.each do |sub|
    = f.fields_for sub do |child|
        = child.label :name
        = child.text_field :name
        %br

1 Ответ

0 голосов
/ 10 июня 2011

Нашел мой ответ и написал вики-страницу об этом здесь:

https://github.com/collectiveidea/awesome_nested_set/wiki/nested-form-for-nested-set

...