Ruby on rails 嵌套属性未正确显示窗体

Ruby on rails 嵌套属性未正确显示窗体,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.2,nested-attributes,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.2,Nested Attributes,我有一个来自用户的表单 <%= form_for(@user) do |f| %> <%= f.fields_for :businesses do |field| %> <div class="field"> <%= field.label :address %> <%= field.text_field :address %> </div> <div clas

我有一个来自用户的表单

<%= form_for(@user) do |f| %>
  <%= f.fields_for :businesses do |field| %>
    <div class="field">
      <%= field.label :address %>
      <%= field.text_field :address %>
    </div>   
    <div class="field">
      <%= field.label :city %>
      <%= field.text_field :city %>
    </div>  
  <% end %>
<% end %>
我的商业模式

class Business < ActiveRecord::Base
  attr_accessible :user_id, :address, :city
  belongs_to :user
end
我的业务迁移

class CreateBusinesses < ActiveRecord::Migration
  def change
    create_table :businesses do |t|
      t.integer :user_id
      t.string :address
      t.string :city

      t.timestamps
    end
  end
end
关于我做错了什么有什么建议吗


谢谢

您应该先创建一家企业,然后它才能显示表单:

@user.businesses.build
在使用字段\u之前使用该字段

此外,还可以查看这个管理嵌套表单的伟大宝石:


在业务显示表单之前,您应该先创建业务:

@user.businesses.build
在使用字段\u之前使用该字段

此外,还可以查看这个管理嵌套表单的伟大宝石:


用户是否有任何业务?用户是否有任何业务?因此,在显示表单之前,用户需要先有业务?但如果我想让用户输入一个业务呢?我可以在输入时显示字段,但现在当我保存数据库时,信息不会显示在字段中?如果我想编辑我的信息,我的值不是应该自动显示在字段中吗?如果我这样做,它会显示我保存的文件。当我尝试在地址和城市字段中插入更多信息时,它会不断添加新数据,它应该覆盖原始数据?我发现我应该在用户中的新操作中添加@user.businesss.build发现:在一个has\u-one关系中,它是@user.build\u首选项。多亏了这篇文章:所以用户需要在表单显示之前先有一个业务?但如果我想让用户输入一个业务呢?我可以在输入时显示字段,但现在当我保存数据库时,信息不会显示在字段中?如果我想编辑我的信息,我的值不是应该自动显示在字段中吗?如果我这样做,它会显示我保存的文件。当我尝试在地址和城市字段中插入更多信息时,它会不断添加新数据,它应该覆盖原始数据?我发现我应该在用户中的新操作中添加@user.businesss.build发现:在一个has\u-one关系中,它是@user.build\u首选项。多亏了这篇文章: