嵌套表单字段出现问题

我正在尝试为我的网站实现嵌套对象表单,使用Ryan Daigle的博客文章作为指南( http://ryandaigle.com/articles/2009/2/1/what-s-new-in-edge-rails-嵌套属性 )。 由于某种原因,嵌套的表单字段不会出现在视图中。

class Instruction < ActiveRecord::Base has_many :steps accepts_nested_attributes_for :steps end class Step < ActiveRecord::Base belongs_to :instruction end   



当我更改instruction_form.fields_for :steps do |step_form| to instruction_form.fields_for :step do |step_form| ,表单呈现,但提交后,我得到一个’未知属性:步’错误。

我正在做的似乎与教程相符。 我应该检查什么? 谢谢。

你的控制器发生了什么? 我还没有看过这个教程,现在似乎无法将它拉出来(向下?)但是你是否在内存中构建了一个对象来填充?

在你的控制器中,在你的“新”动作中,确保你是

 @instruction = Instruction.new @instruction.steps.build 

这将在内存中实例化Step作为表单填写的“占位符”。 。 。 至少这是我在使用accepts_nested_attributes_for时在我自己的控制器中所做的事情,并且效果很好。

让我知道它是否有效,一旦我可以完成教程,我可能需要编辑它