我正在構建一個名爲Engrave的Rails引擎。在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
模板文件中的主機應用程序
我不明白爲什麼此路線幫助程序在此上下文中不可用。我究竟做錯了什麼?
我將StrangeDays答案標記爲正確,因爲它在技術上解決了問題,但如果任何人有了這種方式使用引擎而不需要修改所有佈局模板的想法,那就太棒了。我四處遊玩,並設法通過創建一個完整的引擎而不是一個孤立的/可安裝的引擎來實現我想要的。我想我仍然錯過了一些東西,我想要吃我的蛋糕,然後在這一塊上吃。 – Jeff