我有一个包含许多字段的rails表单。 用户希望能够通过单击按钮复制包含6个字段的表单部分,以便6个字段在页面上出现两次,然后填写字段并提交表单,创建2个新记录。
= form_for @item, :html => { :class => "form-horizontal" } do |f|
.panel
h4 Personal Details
.field
= f.label :contact_name
= f.text_field :contact_name
.field
= f.label :email_address
= f.text_field :email_address
.duplicate-section.panel
h4 Info
.field
= f.label :location
= f.select :location
.field
= f.label :time
= f.text_field :time
= link_to "Add new Info Section", '#'
link_to会在表单中添加一个新的.duplicate-section
,以便我可以在页面上创建额外的字段,但我不知道如何将表单作为两个单独的记录提交。
答案 0 :(得分:0)
要对此进行管理,您可以创建一个封装差异记录的模型:
运行
rails g model item_wrapper
bundle exec rake db:migrate
应用程序/模型/ item_wrapper.rb
class ItemWrapper < ActiveRecord::Base
has_many :items
accepts_nested_attributes_for :items
end
按照this railscast创建添加和删除信息部分按钮。
finnaly你可以自定义通过将字段更改为隐藏生成的javascript并填充项目重复字段的值。
总结一下:
干杯
相信很明显,我可以根据需要编辑答案。