私のRailsアプリには、相互に依存するクラスがParkingSpaceありParking Lotます。
AParkingLotには多くがParkingSpacesあり、にParkingSpace属しParkingLotます。
ParkingSpace同じものを二度と挿入できないようにしたいと思いParkingLotます。
通常、私は一意性の検証を使用して、ParkingSpaceが繰り返されないことを確認します。ParkingSpaceには非常に一般的な名前が付いています
ParkingLotid:1の場合ParkingSpaces、1、2、および3を含めることができます。
ParkingLotParkingSpacesid:2を使用すると、1、2、および3を含めることもできます。
ただし、上記の駐車場は、同じ名前の駐車スペースを2つ持つことはできません。
Railsでこれを検証するにはどうすればよいですか?これをデータベースレベルで検証するにはどうすればよいですか?
私は、2つのフィールドを独自の方法で結合し、それを独自に呼び出すことを検討しています。これは有効なアプローチですか?(データベースレベルでこれを行う方法は正確にはわかりませんが、すべての検証がそこに存在する必要があります。)
(Postgresを使用)