Como obtenho o caminho do diretório raiz do meu aplicativo Rails?
ruby-on-rails
fivetwentysix
fonte
fonte
Rails.root.join(*%w( app assets images logo.png ))
.Rails.root / 'app' / 'assets' / 'images' / 'logo.png'
Para super correção, você deve usar:
que permitirá que seu aplicativo funcione em plataformas onde
/
não existe o separador de diretório, se alguém tentar executá-lo em um.fonte
Rails.root.join('foo','bar')
avaliado o objeto Nome do caminho cujo @caminho é '/ Users / purplejacket / my_rails_app / foo / bar'Você pode acessar rails caminho aplicativo usando variável
RAILS_ROOT
.Por exemplo:
fonte
Além de todas as outras respostas corretas, como
Rails.root
é umPathname
objeto, isso não funcionará:Você poderia usar algo como
join
Se você deseja uma string, use isto:
fonte
Rails.root + 'app/assets'
faz o trabalho, mas simjoin
é mais puro.Em alguns casos, você pode querer a raiz do Rails sem precisar carregar o Rails.
Por exemplo, você obtém um ciclo de feedback mais rápido ao TDD'ing de modelos que não dependem do Rails exigindo em
spec_helper
vez derails_helper
.O que permite carregar facilmente objetos antigos simples do Ruby a partir de seus arquivos de especificação.
fonte
Você pode usar:
Mas, para ingressar nos ativos, você pode usar:
Espero que isso ajude você.
fonte
Simplesmente pelo Rails.root ou se você quiser acrescentar algo, podemos usá-lo como Rails.root.join ('app', 'assets'). To_s
fonte
Simplesmente escrevendo Rails.root e anexando qualquer coisa por Rails.root.join (*% w (ativos do aplicativo)). To_s
fonte