RubyonRails:嵌套属性形式不';我没有出现
我在Rails 3.1.1.rc3上工作,我有两个类,如下所示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属性
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中,您必须将=放入生成任何类型输出的帮助程序,如表单、字段等。第二种形式也没有出现。但这是一个很好的观点。谢谢编辑我的问题。对于感兴趣的人来说,这是一篇非常好的文章。对于感兴趣的人来说,这是一篇非常好的文章。