Рельсы: есть ли двигатель.корень?


Rails.root возвращает объект Path, указывающий корень проекта Rails.

есть ли эквивилент для рельсовых двигателей? Как Engine.root? Если нет, то как еще я могу построить путь от корня моего рельсового двигателя?

2 51

2 ответа:

допустим, ваш файл движка настроен следующим образом:

module MyEngine
  class Engine < Rails::Engine
    #......
  end
end

вы можете вызвать root в классе Engine следующим образом:

MyEngine::Engine.root

ответ Джона правильный, но я бы убрал это немного так:

при монтировании движка в файле маршрутов сначала добавьте псевдоним.

mount YourEngineNameHere::Engine => '/optional_namespace', as: 'your_engine_name'

тогда сделайте your_engine_name.root_url