Rails: есть ли Engine.root? - PullRequest
       1

Rails: есть ли Engine.root?

55 голосов
/ 25 февраля 2011

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

Есть ли эквивалент для двигателей Rails? Нравится Engine.root? Если нет, как еще можно создать путь из корня моего движка Rails?

Ответы [ 2 ]

114 голосов
/ 26 февраля 2011

Допустим, файл вашего движка настроен так:

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

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

MyEngine::Engine.root
1 голос
/ 04 октября 2017

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...