SQLite3 Fehler beim Testen Cancan Autorisierungen in Rails3: Keine solche Tabelle: Eigenschaften: DELETE FROM „Fähigkeiten“ mit 1 = 1
-
25-09-2019 - |
Frage
ich Probleme haben, wenn die Standardtests in Rails3 beta4 mit Cancan läuft ( http://github.com / ryanb / Cancan ). Die Tests sind die Plain-Vanilla automatisch generierten diejenigen, die aussehen wie
Test "die Wahrheit" zu tun Assertion wahr Ende
Jeder einzelne Test (beide Einheit und Funktions) ergibt die folgende Fehlermeldung:
Active :: StatementInvalid: SQLite3 :: SQLException: keine solche Tabelle: Fähigkeiten: DELETE FROM "Fähigkeiten" WHERE 1 = 1
Dies geschieht auch dann, wenn eine Anwendung und die Fähigkeit, in test_helpers.rb definiert
Ich nehme an, dies auf die Fähigkeit Modell Cancan Anwendungen für die Zulassung fällig ist, da es nicht beibehalten wird (nur eine einfache Ruby-Klasse) und hat daher keine Tabelle in der DB. Vielleicht ist etwas versuchen, Fähigkeiten, nachdem Tests abzureißen und fälschlicherweise versucht Fähigkeiten aus der Datenbank zu löschen? Wie kann ich dies (und noch wichtiger, fix)?
Wieder einmal gibt es keine eigene Logik in den Tests. Sie sind, wie durch Rails3 beta4 erzeugt
(FYI die Fähigkeit Klasse erbt nicht von Activerecord :: Base und enthält CanCan :: Fähigkeit Auch die app -. Genehmigung und alle -. Funktioniert gut)
Umwelt: - Rubin 1.8.7-p249 - Schienen 3.0.0.beta4 - Cancan 1.2.0 - devise 1.1.rc2
Sonst noch jemand in dieser Frage laufen?
Vielen Dank für Ihre Hilfe!
UPDATE: versuchte Umschaltung auf PostgreSQL. Offensichtlich Fehler DB-unabhängig: bekam die folgende Fehlermeldung, wenn „Rake-Test“
LaufenActive :: StatementInvalid: PGError: ERROR: relation "Fähigkeiten" nicht existieren LINE 1: DELETE FROM "Fähigkeiten" ^ : FROM "Fähigkeiten" DELETE
Lösung
Problem gelöst: Ich hatte eine abilities.yml Befestigungsdatei. Nach dem Löschen wird der Fehler weg.
http://github.com/ryanb/cancan/issues/closed # Ausgabe / 109