看板 Ruby 關於我們 聯絡資訊
在送出表單時,有時候需要一次送出多個 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)