1
文書の更新時に他のものと時間枠が交差しているかどうかを確認したい。それは創造に作用しますが、私は何かを変えることに問題があります。文書の更新時に交差する時間枠を確認する
これは私がこれまで持っているものです。
if Timetracking.where(:begin.lt => params[:timetracking][:end], :end.gt => params[:timetracking][:begin]) && Timetracking.find(params[:id]) != params[:id]
@error = 'Time overlapping with another entry'
render 'timetracking/edit'
else
do update stuff
end
私の基本的な考え方は、時間が重複し、idは私が更新しています1以外の何かである場合かどうかを確認することでした。私も成功なしに別のクエリを試しました:
if Timetracking.where(:begin.lt => params[:timetracking][:end], :end.gt => params[:timetracking][:begin], :id.ne => params[:id])
@error = 'Time overlapping with another entry'
render 'timetracking/edit'
else
do stuff
end
今私はちょっと立ち往生しています。たぶん誰かが私を正しい方向へ押し込んでくれるかもしれない。 :)ああ、私はPadrinoを使用しています。
ありがとうございます。
はどうもありがとうございました。 OR文で問題を解決しました。今は期待どおりに動作します。 EDIT:私はコメントで書式を設定するにはあまりにも愚かであるように見えます。 :) – BlindPenguin