作者tonytonyjan (南洋大兜虫)
看板Ruby
标题[心得][问题] 一次储存多个 model
时间Thu Jan 19 22:54:02 2012
在送出表单时,有时候需要一次送出多个 model(例如批次上传或是批次新增标签等等)
而网路上有很多解法,只是有些我觉得写得太复杂(例如 create 可以传阵列进去,偏偏
就要用 each ,让程式码变得不够漂亮、精简)
最近因为专案所需,我也写了一个,在这里分享给大家,此外也好奇各位前辈是用什麽方
法解决这个问题的呢?
----------------------------------------
<!-- records/new.html.erb -->
<% @records.each do |record| %>
<!-- 参考:
http://guides.rubyonrails.org/form_helpers.html#combining-them
-->
<%= fields_for "records[]", record do |f| %>
<%= f.text_field :name %>
<% end %>
<% end %>
----------------------------------------
----------------------------------------
# records_controller.rb
def new
@records = []
5.times{@records << Record.new}
end
def create
@records = Record.create params[:records]
error_flag = false
@records.map{|record|
unless record.errors.empty?
error_flag = true
return
end
}
if error_flag
render :new
else
redirect_to records_path
end
end
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.246.1
-----自问自答------
看来我重造轮子了
http://railscasts.com/episodes/196-nested-model-form-part-1
感谢 xdite 前辈指引
※ 编辑: tonytonyjan 来自: 140.113.246.1 (01/19 23:35)