Railsy tak naprawdę nie rozumieją "zaawansowanych" koncepcji baz danych, takich jak widoki, więc nie pojawią się one w twoim schema.rb . Kiedy rspec konfiguruje swoją testową bazę danych, użyje schema.rb aby utworzyć schemat bazy danych, ponieważ nie znajdziesz swoich widoków w schema.rb , nie znajdziesz swoich widoków w testowej bazie danych, której będzie używał rspec, i wszystko się rozpadnie.
Rozwiązaniem jest przejście z schema.rb do structure.sql . Powinieneś być w stanie zaktualizować plik config/application.rb powiedzieć:
config.active_record.schema_format = :sql
a następnie wykonaj rake db:structure:dump aby wygenerować structure.sql plik. Gdy już to zrobisz, usuń schema.rb z systemu plików i kontroli wersji, dodaj structure.sql i spróbuj ponownie.