0
CheckIn
モデルに:week
フィールドがあります。私は通常、私はまた、ユーザーに効果的に新しい順に結果:week
属性を更新し再ために能力これらのレコードを、与える:week
アトリビュート別にソートされたアクティブなレコードオブジェクトを交換する
CheckIn.all.order(:week)
することにより、これらのレコードを並べ替えます。問題は、私が:week
を更新すると、すでに:week
という数字のレコードがあることです。言い換えれば
私はこれで起動した場合:
ci1 = CheckIn.create(week: 0)
ci2 = CheckIn.create(week: 1)
ci3 = CheckIn.create(week: 2)
ci4 = CheckIn.create(week: 3)
、その後2にci2
のweek
を更新:
ci2.update({ week: 2})
私はcheck_ins
の配列が残っていますが、2つのレコードが同じを持っています理想的には古い2が1になるときに、週の番号を更新する必要があります。
週の列を一意にするように見えます。あなたは、before_saveフィルタを追加し、既存の週のチェックインを更新している場合は、週の値をスワップします – rajbir