рельсы вложенные атрибуты - PullRequest
2 голосов
/ 31 мая 2010

Я использую rails 3.0.0.beta3 и пытаюсь реализовать форму с вложенными атрибутами, используя: accepts_nested_attributes_for.

Моя форма вложена в три уровня: Опрос >> Вопрос >> Ответ.

Опрос has_many Вопросы, и Вопрос имеет много ответов.

Внутри модели Survey есть : acceptpts_nested_attributes_for: вопросы

а внутри режима вопроса есть : accepts_nested_attributes_for: answers

Все работает нормально, за исключением случаев, когда я добавляю новый ответ на существующий вопрос, он не создается. Однако, если я внесу изменения в соответствующий вопрос при создании ответа, я смогу успешно создать ответ.

Этот пример в точности похож на Railscast: http://railscasts.com/episodes/197-nested-model-form-part-2

но не работает в rails3 (по крайней мере, в моем случае).

Пожалуйста, дайте мне знать, если есть какие-либо проблемы с вложенными атрибутами в Rails 3.

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 27 июля 2011

Если вы используете attr_accessible, убедитесь, что вы включили вложенные атрибуты

class Survey < ActiveRecord::Base
  accepts_nested_attributes_for :questions
  attr_accessible :questions_attributes
end

class Question < ActiveRecord::Base
  accepts_nested_attributes_for :answers
  attr_accessible :answers_attributes
end

Также, смотрите мой комментарий здесь о вложенных атрибутах и ​​проверках модели, если у вас все еще есть проблемы. Подтверждения пропуска зажигания в форме с несколькими моделями

0 голосов
/ 02 июня 2010

Взгляните на комментарий 93 об этом Railscast (от Casper Fabricus). Он говорит, что вы должны поместить «[]» вокруг «new_object» в методе «link_to_add_fields» в помощнике.

Может быть, это то, что ты бьешь?

...