2

我正在使用 rails 3.0.0.beta3,我正在尝试使用:accepts_nested_attributes_for 实现具有嵌套属性的表单。

我的表单嵌套到三个级别:调查>>问题>>答案。

调查有_很多问题,问题有很多答案。

在 Survey 模型中,有 :accepts_nested_attributes_for :questions

在问题模式中,有 :accepts_nested_attributes_for :answers

一切正常,除非我为现有问题添加新答案,但它不会被创建。但是,如果我在创建答案时更改了相应的问题,我可以成功创建答案。

此示例与 railscast 完全相同: http: //railscasts.com/episodes/197-nested-model-form-part-2

但在 rails3 中不起作用(至少在我的情况下)。

如果 Rails 3 中的嵌套属性有任何问题,请告诉我。

提前致谢。

4

2 回答 2

2

如果您正在使用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

另外,如果您仍然遇到问题,请在此处查看我关于嵌套属性和模型验证的评论。验证在具有多个模型的表单中失败

于 2011-07-26T21:03:34.820 回答
0

看一下关于该 railscast 的评论 93(由 Casper Fabricus 撰写)。他说你必须在 helper 的“link_to_add_fields”方法中的“new_object”周围加上“[]”。

也许这就是你要打的?

于 2010-06-01T20:59:22.573 回答