Engrave という Rails エンジンを構築しています。
次のようにエンジンを取り付けました。
# 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_for :users
new_user_session_path への呼び出しは、ホスト アプリlayouts/application.html.erb
のテンプレート ファイルにあります。
このルート ヘルパーがこのコンテキストで利用できない理由がわかりません。私は何を間違っていますか?