RubyonRails:嵌套属性形式不';我没有出现

RubyonRails:嵌套属性形式不';我没有出现,ruby,ruby-on-rails-3.1,Ruby,Ruby On Rails 3.1,我在Rails 3.1.1.rc3上工作,我有两个类,如下所示 class Customer < ActiveRecord::Base has_many :orders, :dependent => :destroy accepts_nested_attributes_for :orders end class Order < ActiveRecord::Base belongs_to :customer end class客户:销毁 接受订单的\u嵌套\u属性

我在Rails 3.1.1.rc3上工作,我有两个类,如下所示

class Customer < ActiveRecord::Base
  has_many :orders, :dependent => :destroy
  accepts_nested_attributes_for :orders
end

class Order < ActiveRecord::Base
  belongs_to :customer
end
class客户:销毁
接受订单的\u嵌套\u属性\u
结束
类顺序
以我的名义:

<%= form_for(@customer) do |f| %>
  <div class="field">
    <%= f.label :name %><br />
    <%= f.text_field :name,:class=>'textbox' %>
  </div>

  <%= f.fields_for :orders do |order_form| %>   
    <div class="field">
       <%= order_form.label :number %><br />
       <%= order_form.text_field :number, :class=>'textbox' %>
   </div>  
  <%end%>

<%end%>


'文本框'>
'文本框'>
当它呈现时,表单的第一部分(对于客户)显示,但第二部分(对于订单)不显示。任何指点都很感激。谢谢。

添加

<%= f.fields_for :orders do |order_form| %> 

而不是

<% f.fields_for :orders do |order_form| %> 

编辑:看一看(这里有示例)

添加

<%= f.fields_for :orders do |order_form| %> 

而不是

<% f.fields_for :orders do |order_form| %> 


编辑:看一下(这里有一些例子)

两件事。第一个字段\u基本上迭代customer.orders,所以如果没有订单,您将不会得到任何输出。如果您只想让用户输入一些空白字段,您通常会坚持使用这些字段

@customer.orders.build

在你的控制器里。其次,
字段与
表单非常相似,您需要使用两个东西。第一个字段\u基本上迭代customer.orders,所以如果没有订单,您将不会得到任何输出。如果您只想让用户输入一些空白字段,您通常会坚持使用这些字段

@customer.orders.build

在你的控制器里。其次,
的字段与的表单非常相似,您需要使用这是正确的答案。在rails 3中,您必须将=放入生成任何类型输出的帮助程序,如表单、字段等。第二种形式也没有出现。但这是一个很好的观点。谢谢编辑了我的问题。这是正确的答案。在rails 3中,您必须将=放入生成任何类型输出的帮助程序,如表单、字段等。第二种形式也没有出现。但这是一个很好的观点。谢谢编辑我的问题。对于感兴趣的人来说,这是一篇非常好的文章。对于感兴趣的人来说,这是一篇非常好的文章。