我有一个来自用户的表单
<%= 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
时,它会显示,或者我从f
删除f.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
关于我做错了什么建议?
由于
答案 0 :(得分:4)
您应该先建立一个企业,然后才能为其展示表单:
@user.businesses.build
在使用fields_for
另外,请查看这个用于管理嵌套表单的优秀gem: