Как получить путь к корневому каталогу моего приложения Rails?
ruby-on-rails
fivetwentysix
источник
источник
Rails.root.join(*%w( app assets images logo.png ))
.Rails.root / 'app' / 'assets' / 'images' / 'logo.png'
Для супер правильности, вы должны использовать:
что позволит вашему приложению работать на платформах, где
/
нет разделителя каталогов, если кто-то попытается запустить его на одной из них.источник
Rails.root.join('foo','bar')
оценивается объект Pathname с @path '/ Users / purplejacket / my_rails_app / foo / bar'Вы можете получить доступ к пути приложения, используя переменную
RAILS_ROOT
.Например:
источник
В дополнение ко всем другим правильным ответам, поскольку
Rails.root
этоPathname
объект, он не будет работать:Вы могли бы использовать что-то вроде
join
Если вы хотите строку, используйте это:
источник
Rails.root + 'app/assets'
делает работу, но даjoin
это аккуратнее.В некоторых случаях вы можете захотеть получить корень Rails без необходимости загрузки Rails.
Например, вы получаете более быстрый цикл обратной связи, когда модели TDD, которые не зависят от Rails, требуют
spec_helper
вместоrails_helper
.Что позволяет легко загружать простые старые объекты Ruby из их файлов спецификаций.
источник
Ты можешь использовать:
Но для объединения активов вы можете использовать:
Надеюсь, это поможет вам.
источник
Просто с помощью Rails.root или, если вы хотите добавить что-то, мы можем использовать это, например, Rails.root.join ('app', 'assets'). To_s
источник
Просто написав Rails.root и добавьте что-нибудь от Rails.root.join (*% w (активы приложения)). To_s
источник