¿Cómo obtengo la ruta del directorio raíz de mi aplicación Rails?
ruby-on-rails
fivetwentysix
fuente
fuente
Rails.root.join(*%w( app assets images logo.png ))
.Rails.root / 'app' / 'assets' / 'images' / 'logo.png'
Para una súper corrección, debe usar:
lo que permitirá que su aplicación funcione en plataformas donde
/
no está el separador de directorios, en caso de que alguien intente ejecutarlo en uno.fuente
Rails.root.join('foo','bar')
evalúa como objeto Pathname cuyo @path es '/ Users / purplejacket / my_rails_app / foo / bar'Puede acceder a la ruta de la aplicación rails usando variables
RAILS_ROOT
.Por ejemplo:
fuente
Además de todas las otras respuestas correctas, dado que
Rails.root
es unPathname
objeto, esto no funcionará:Podrías usar algo como
join
Si quieres una cadena usa esto:
fuente
Rails.root + 'app/assets'
hace el trabajo, pero síjoin
es más ordenado.En algunos casos, es posible que desee la raíz de Rails sin tener que cargar Rails.
Por ejemplo, obtiene un ciclo de retroalimentación más rápido cuando TDD requiere modelos que no dependen de Rails al requerir en
spec_helper
lugar derails_helper
.Lo que le permite cargar fácilmente Objetos Ruby Plain Old de sus archivos de especificaciones.
fuente
Puedes usar:
Pero para unirte a los activos puedes usar:
Espero que esto te ayude.
fuente
Simplemente por Rails.root o si desea agregar algo, podemos usarlo como Rails.root.join ('app', 'assets'). To_s
fuente
Simplemente escribiendo Rails.root y agregue cualquier cosa por Rails.root.join (*% w (recursos de la aplicación)). To_s
fuente