Вложенные формы и автоматическое создание родителя, детей - PullRequest
0 голосов
/ 22 февраля 2010

Мне было интересно, можно ли было создать нового родителя, у детей в a есть много отношений, используя вложенные формы rails.

В документации Rails ясно сказано, что это работает в отношениях один к одному. Не уверен, что у того же самого есть много отношений.

Например:

Если

params = { 
  :employee => { 
    :name => "Tester", 
    :account_attributes => {:login => 'tester'}
  }
} 

работает как один к одному. Так что Employee.new (params) работает нормально. Новый сотрудник, учетная запись создана.

Предположим, у меня было

params = { 
  :employee => { 
    :name => "Tester", 
    :account_attributes => {
      "0" => {:login => 'tester'}, 
      "1" => {:login => 'tester2'}
    }
  }
} 

Employee.new (params) не работает. При проверке дочерних элементов происходит сбой, когда родитель не может быть пустым.

Любая помощь приветствуется. Спасибо

Karen

1 Ответ

2 голосов
/ 22 февраля 2010

Child_attributes = writer, который поставляется с accepts_nested_attributes_for, ожидает массив, когда дело доходит до отношения один ко многим.

Это создаст две учетные записи для нового сотрудника

params = { 
  :employee => { 
    :name => "Tester", 
    :account_attributes => [
     {:login => 'tester'}, 
     {:login => 'tester2'}
    ]
  }
} 
...