0

我正在关注嵌套模型 Railscast 的修订版:http ://railscasts.com/episodes/196-nested-model-form-revised

我有一个类似的表格,railscast使用模型调查,问题,答案;但我有成员、孩子和看护人。

我的代码几乎与 railscast 完全相同。我正在使用 Rails 3.1.3 和 Ruby 1.9.2。

我的问题是,子属性没有反映在表单上。据此: http: //archives.ryandaigle.com/articles/2009/2/1/what-s-new-in-edge-rails-nested-attributes没有必要在控制器上做任何事情......

该解决方案的美妙之处在于,它将您的控制器从组合中剔除,并使提交标准完美地工作,而不会在控制器级别受到干扰。

如果我不这样做@member.children << Child.new,表单的嵌套子项部分就不会出现。

def new
  @member = Member.new
  @member.children << Child.new

  respond_to do |format|
    format.html
  end
end

我错过了什么吗?

4

1 回答 1

1

你仍然需要模型的子记录才能让表单看到它我会稍微改变你的控制器以使用构建而不是添加到数组

def new
  @member = Memeber.new
  @member.children.build
end
于 2012-08-01T17:32:57.143 回答