hel*_*llo 3 ruby-on-rails nested-attributes ruby-on-rails-3 ruby-on-rails-3.2
我有用户的表格
<%= 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 %>
Run Code Online (Sandbox Code Playgroud)
它不显示我的字段,但是当我更改businesses为时business,它会显示,或者如果我f从 中删除f.fields_for. 但我认为它没有正确保存到数据库中。
我的用户模型
class User < ActiveRecord::Base
has_many :businesses
accepts_nested_attributes_for :businesses
en
Run Code Online (Sandbox Code Playgroud)
我的商业模式
class Business < ActiveRecord::Base
attr_accessible :user_id, :address, :city
belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)
我的商业移民
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
Run Code Online (Sandbox Code Playgroud)
关于我做错了什么有什么建议吗?
谢谢
您应该先建立一个企业,然后才能为其显示表单:
@user.businesses.build
Run Code Online (Sandbox Code Playgroud)
使用之前先使用它fields_for
另请查看这个用于管理嵌套表单的伟大宝石:
https://github.com/ryanb/nested_form
| 归档时间: |
|
| 查看次数: |
1865 次 |
| 最近记录: |