1

我有一个来自用户的表格

<%= 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 %>

它不显示我的字段,但是当我更改businesses为时business,它会显示,或者如果我ff.fields_for. 但我认为它不能正确保存到数据库中。

我的用户模型

class User < ActiveRecord::Base
  has_many :businesses
  accepts_nested_attributes_for :businesses
en

我的商业模式

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

关于我做错了什么的任何建议?

谢谢

4

1 回答 1

4

您应该先建立一个企业,然后才能为其显示表单:

@user.businesses.build

在使用之前使用它fields_for

还可以查看这个用于管理嵌套表单的优秀 gem:

https://github.com/ryanb/nested_form

于 2013-06-09T19:44:44.910 回答