Pokud máte FK s ON DELETE CASCADE, neměli byste ve svých modelech používat dependent => :destroy. Může spouštět zbytečné dotazy a nemůžete počítat s tím, že v budoucnu věci nerozbije. Do souboru modelu byste měli vložit komentář, abyste zdokumentovali, že se to děje. ačkoli.
Také doporučuji udělat FK v migracích. Bylo by mnohem lepší, kdyby vaše testovací databáze měla stejná omezení jako vaše produkční databáze, což může způsobit velmi záludné chyby. Existuje plugin RedHill (redhillonrails_core), který usnadňuje migraci cizích klíčů a umožňuje výpisy schémat s omezeními FK, takže testování je mnohem jednodušší.