Я создаю движок для Rails под названием Engrave.
Я смонтировал движок следующим образом:
# Routes.rb of the host app
mount Engrave::Engine => "/engrave", :as => "engrave_engine"
Внутри этого движка у меня есть контроллер под названием "PostsController". Когда я перехожу к этому контроллеру, чтобы просмотреть запись, например: /engrave/posts/1
, я получаю эту ошибку:
undefined local variable or method `new_user_session_path'
PostsController в движке наследуется от контроллера движка, который наследуется от контроллер приложения, например так:
module Engrave
class PostsController < ApplicationController
...
end
class Engrave::ApplicationController < ApplicationController
end
new_user_session_path определяется devise, который я настроил следующим образом:
devise_for :users
Вызов new_user_session_path находится в файле шаблона layouts/application.html.erb
в хост-приложение
Я не могу понять, почему этот помощник маршрута недоступен в этом контексте. Что я делаю неправильно?