[心得][問題] 一次儲存多個 model
在送出表單時,有時候需要一次送出多個 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)
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章