Ruby on rails 接受\u嵌套的\u属性\u,以便在Rails 3中实际使用

Ruby on rails 接受\u嵌套的\u属性\u,以便在Rails 3中实际使用,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,使用Ruby on Rails 3: 我半了解接受嵌套的属性应该如何工作,但我无法找到一种在表单中实现这一点的实用方法。例如,如果有人想在其用户页面中添加其最近的位置: user.rb class User < ActiveRecord::Base has_many :locations accepts_nested_attributes_for :locations end class Location < ActiveRecord::Base belongs_to

使用Ruby on Rails 3:

我半了解接受嵌套的属性应该如何工作,但我无法找到一种在表单中实现这一点的实用方法。例如,如果有人想在其用户页面中添加其最近的位置:

user.rb

class User < ActiveRecord::Base
  has_many :locations
  accepts_nested_attributes_for :locations
end
class Location < ActiveRecord::Base
  belongs_to :user
end
关于如何在用户视图
\u form.html.erb
中实际实现这一点,有什么想法吗?文档中没有任何关于视图的内容


我尝试过使用railscast教程,但它根本不起作用——我相信该演员是为rails 2.3制作的,但我不确定3中是否有不同的用法。

接受嵌套的属性,当您有一些链接模型并希望以一种形式创建和编辑它们时,需要实现这种情况。
例如:用户及其位置

这是一种常见的情况,并且得到了广泛的应用。例如:

<%= form_for @user, users_path do |form| %>
 <%= form.text_field :name %>
 <%= form.fields_for :locations do |f| %>
   <%= f.text_field :location %>
     ...
 <% end %>
<%= form.submit %>
<% end %>

...

您应该阅读:关于ActiveRecord::NestedAttribute::ClassMethods

您可以发布一些代码吗?我使用railscast在rails 3中实现了它,它运行得很好。也许我现在真的很困惑,但当我使用教程时,我得到了
未定义的方法“内容”
。内容是他创建的表上的一列,因此,如果您使用自己的表执行此操作,则不应应用此操作(如果您所说的是我认为您所说的内容-在参数之后的第二个字段接受嵌套属性)。是的,就是这样。我是个白痴。谢谢,很抱歉浪费了你的时间。
<%= form_for @user, users_path do |form| %>
 <%= form.text_field :name %>
 <%= form.fields_for :locations do |f| %>
   <%= f.text_field :location %>
     ...
 <% end %>
<%= form.submit %>
<% end %>