Rails förstår inte riktigt "avancerade" databaskoncept som vyer så de kommer inte att visas i ditt schema.rb
. När rspec ställer in sin testdatabas kommer den att använda schema.rb
för att skapa databasschemat, eftersom du inte hittar dina vyer i schema.rb
, du hittar inte dina åsikter i testdatabasen som rspec kommer att använda och allt faller isär.
Lösningen är att byta från schema.rb
till structure.sql
. Du bör kunna uppdatera din config/application.rb
att säga:
config.active_record.schema_format = :sql
och gör sedan en rake db:structure:dump
för att generera structure.sql
fil. När du har det, ta bort schema.rb
från ditt filsystem och revisionskontroll, lägg till structure.sql
och försök igen.