2012-08-03 11 views

Respuesta

20

defined? ModelName devolverá "constante" si el modelo está definido.

+1

'defined?' No parece devolver resultados consistentes. Por favor, compruebe el código de abajo: ' $ carriles c Cargando entorno de desarrollo (Rails 4.2.0) 2.2.1 : 001> definido (Usuario) => "constante" 2.2.1:? 002> define? (AuthenticationToken) => nil 2.2.1: 003> AuthenticationToken => AuthenticationToken (llamada 'AuthenticationToken.connection' para establecer una conexión) 2.2.1:? 004> definido (AuthenticationToken) => "constante" 2.2.1: 005> ' –

+0

De acuerdo^parece que algunas constantes solo se cargan después de referenciarse? – Pandem1c

1

Dado que defined? es problemático (consulte el comentario de @Jiggneshh Gohel), quizás pueda verificar los nombres de los archivos en el models dir.

files = Dir[Rails.root + 'app/models/*.rb'] 
models = files.map{ |m| File.basename(m, '.rb').camelize } 

models.include? "User" => true 
Cuestiones relacionadas