¿Cómo obtengo la ruta del directorio raíz de mi aplicación Rails?Rails ¿Ruta del directorio raíz?
Respuesta
en Rails 3 y más reciente:
Rails.root
que devuelve un objeto Pathname
. Si desea una cadena, debe agregar .to_s
. Si quieres otro camino en su aplicación Rails, puede utilizar join
así:
Rails.root.join('app', 'assets', 'images', 'logo.png')
En Rails 2 se puede utilizar la constante RAILS_ROOT
, que es una cadena.
Puede acceder a la ruta de acceso de la aplicación usando la variable RAILS_ROOT
.
Por ejemplo:
render :file => "#{RAILS_ROOT}/public/layouts/mylayout.html.erb"
RAILS_ROOT se depra como Rails 3.0 insted use Rails.root –
para Super corrección, se debe utilizar:
Rails.root.join('foo','bar')
que permita que su aplicación para trabajar en plataformas donde /
no es el separador de directorios, alguien debería tratar de ejecutarlo en uno.
Por ejemplo, en mi MacBook , 'Rails.root.join ('foo', 'bar')' evalúa el objeto Pathname cuyo @path es '/ Users/purplejacket/my_rails_app/foo/bar' – Purplejacket
Además de todas las otras respuestas correctas, ya que es un objeto Rails.root
Pathname
, esto no funcionará:
Rails.root + '/app/assets/...'
Usted podría utilizar algo como join
Rails.root.join('app', 'assets')
Si desea una cadena use esto:
Rails.root.join('app', 'assets').to_s
En realidad 'Rails.root + 'app/assets' * does * work, pero sí 'join' es más nítido. – Mischa
Por lo general, no es una buena idea codificar por hardware el token separador de archivos (\ o /). –
Puede usar:
Rails.root
Sin embargo, para unirse a los activos que se pueden utilizar:
Rails.root.join(*%w(app assets))
Esperemos que esto le ayuda.
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 los modelos TDD que no dependen de los rieles requieren spec_helper
en lugar de rails_helper
.
# spec/spec_helper.rb
require 'pathname'
rails_root = Pathname.new('..').expand_path(File.dirname(__FILE__))
[
rails_root.join('app', 'models'),
# Add your decorators, services, etc.
].each do |path|
$LOAD_PATH.unshift path.to_s
end
Que le permite cargar fácilmente Viejos Objetos de Ruby Viejos de sus archivos de especificaciones.
# spec/models/poro_spec.rb
require 'spec_helper'
require 'poro'
RSpec.describe ...
Simplemente por Rails.root o si desea agregar algo que podemos utilizarlo como Rails.root.join ('app', 'activos'). To_s
Elimine esta respuesta, es solo ruido, no agrega nada a la pregunta. – luk2302
simplemente escribiendo Rails.root y anexar cualquier cosa por Rails.root.join (*% w (recursos de la aplicación)).to_s
Elimine esta respuesta, es solo ruido, no agrega nada a la pregunta y está mal formateado. – luk2302
- 1. Rails 3 ¿Problemas con la ruta raíz?
- 2. Ruta del directorio local
- 3. Obtener directorio raíz Ruta de un proyecto PHP
- 4. Eliminar un directorio de la ruta completa del directorio
- 5. PHP ruta del directorio recursivo
- 6. hg - Ignorar directorio en el directorio raíz
- 7. Problema del directorio raíz del Android Test Project en Eclipse
- 8. obtener el directorio raíz de scons
- 9. Cómo obtener el directorio raíz en PHP
- 10. Ruta de directorio común del archivo MAKE
- 11. ¿Ruta del directorio de escritorio multiplataforma?
- 12. ¿Agregar un directorio a la ruta de carga en Rails?
- 13. Rails 3.1: ruta/url a archivo en el directorio público
- 14. ¿Qué es un directorio raíz?
- 15. Sammy.js 404 en ruta raíz
- 16. ¿Dónde está el directorio raíz del servidor web en WAMP?
- 17. ¿Cómo se especifica la ruta del directorio público en una aplicación ruby on rails?
- 18. Estructura del directorio del proyecto django y la ruta python
- 19. directorio predeterminado Rails irb
- 20. ¿Cómo obtener el directorio raíz de CakePHP?
- 21. Lista/vinculación a los contenidos del directorio en Rails
- 22. Rails opcional /: ruta local
- 23. Ruta relativa al directorio de su proyecto
- 24. Cómo eliminar el enlace 'Directorio principal' de la carpeta raíz en la lista del directorio Apache
- 25. ¿Cómo obtengo el directorio raíz de una aplicación Rails en una Gema
- 26. Especifique una ruta de acceso raíz de su directorio HTML para enlaces de scripts?
- 27. ¿Cómo incluir stdafx.h desde el directorio raíz?
- 28. Cómo encontrar el directorio raíz de Joomla
- 29. Redirigir default.aspx al directorio virtual raíz
- 30. Obtener el directorio raíz predeterminado en Java
En Rails 2.3 Rails.root es una instancia de Pathname donde RAILS_ROOT es una cadena. – Richard
Solo Rails.root en 3.1 y posteriores (ahh ... el caso de cambiar CONSTANT;)) – thanikkal
También puede 'Rails.root.join (*% w (app assets images logo.png))'. – Nate