error SQLite3 al probar autorizaciones Cancan en Rails3: hay tal tabla: habilidades: eliminar de “capacidades”, donde 1 = 1
-
25-09-2019 - |
Pregunta
Tengo problemas al ejecutar las pruebas predeterminadas en beta4 Rails3 con Cancan ( http://github.com / ryanb / cancan ). Las pruebas son las generadas automáticamente plain vanilla que se parecen a
prueba de "la verdad" hacer aserción verdadera final
Cada prueba individual (tanto unidad y funcional) produce el siguiente error:
ActiveRecord :: StatementInvalid: SQLite3 :: excepción de SQL: no hay tal tabla: habilidades: Eliminar en "habilidades", donde 1 = 1
Esto ocurre incluso si un uso y la capacidad se definen en test_helpers.rb
Asumo que esto es debido a los usos Cancan modelo Capacidad de autorización, ya que no se conserva (sólo una clase de rubíes natural) y, por tanto, no tiene ninguna tabla en la base de datos. Tal vez algo está tratando de derribar habilidades después de las pruebas y por error intentar eliminar las capacidades de la base de datos? ¿Cómo puedo comprobar esto (y más importante aún, fix)?
Una vez más, no hay ninguna lógica personalizada en los ensayos:. Que son los generados por Rails3 beta4
(FYI la clase Capacidad no hereda de ActiveRecord :: Base e incluye CanCan :: Capacidad Además, la aplicación -. Autorización y todo -. Bien funciona)
Medio Ambiente: - rubí 1.8.7-p249 - carriles 3.0.0.beta4 - 1.2.0 cancán - Diseñar 1.1.rc2
Cualquier otra persona se encuentra con este problema?
Gracias por su ayuda!
ACTUALIZACIÓN: tratado de conmutación a PostgreSQL. Evidentemente, el error es DB-independiente: tiene el siguiente error cuando se ejecuta "prueba rastrillo"
ActiveRecord :: StatementInvalid: PGError: ERROR: relación "habilidades" no existe LÍNEA 1: Eliminar en "habilidades" ^ : CANCELACIÓN de "capacidades"
Solución
Problema resuelto: Tenía un archivo de datos abilities.yml. Después de eliminarlo, se ha ido el error.
http://github.com/ryanb/cancan/issues/closed # emisión / 109