0
我能夠立刻使用下面的創建梅索德創建多個記錄:find_or_create_by在多個創建操作中?
def create
rate_price = params[:rate][:rate]
mlos = params[:rate][:mlos]
start_date = Date.parse(params[:start_date])
end_date = Date.parse(params[:end_date])
dates = (start_date..end_date).to_a.select {|k| (params[:rate][:days]).reject(&:blank?).map(&:to_i).include?(k.wday)}
room_ids = params[:rate][:room_ids].reject(&:blank?).map(&:to_i)
@rates = []
dates.zip(room_ids).each do |date, room_id|
rate = Rate.new(:rate => rate_price, :mlos => mlos, :room_id => room_id, :dayrate => date)
#rate = Rate.find_or_create_by_dayrate(date, :rate => rate_price, :mlos => mlos, :room_id => room_id)
@rates << rate
end
@rates.map(&:save)
respond_to do |format|
if @rates.any? { |rate| !rate.persisted? }
format.html { render action: "new" }
format.json { render json: @rates.detect { |rate| !rate.persisted? }.errors, status: :unprocessable_entity }
else
format.html { redirect_to :back, notice: 'Rates were successfully created.' }
format.json { render json: @rates, status: :created, location: @rates }
end
end
end
但是,當我想用find_or_create_by
(在我的代碼註釋行)來創建或更新記錄(如果它們已經存在)沒有記錄似乎更新,只有創建工程。 任何想法我失蹤?
是你把我弄對了!這只是做了伎倆,謝謝 – thesubroot 2013-03-19 15:57:54