Ruby on rails 4 Pow不';无法识别引擎创建的路由

Ruby on rails 4 Pow不';无法识别引擎创建的路由,ruby-on-rails-4,rails-engines,rack-pow,Ruby On Rails 4,Rails Engines,Rack Pow,我有一个Rails引擎(用于身份验证,尽管我认为这无关紧要)。它与传统一样,在/spec目录中有一个虚拟应用程序。 引擎在应用程序中定义了几个路由,而虚拟应用程序定义了自己的几个路由 当我在WEBrick中使用rails s运行虚拟应用程序时,它工作正常。但是,当尝试使用Pow(在~/.Pow中符号链接到my_engine/spec/dummy)运行它时,它似乎无法识别引擎提供的路由,我得到: ActionController::UrlGenerationError at /login No r

我有一个Rails引擎(用于身份验证,尽管我认为这无关紧要)。它与传统一样,在
/spec
目录中有一个虚拟应用程序。 引擎在应用程序中定义了几个路由,而虚拟应用程序定义了自己的几个路由

当我在WEBrick中使用
rails s
运行虚拟应用程序时,它工作正常。但是,当尝试使用Pow(在
~/.Pow
中符号链接到
my_engine/spec/dummy
)运行它时,它似乎无法识别引擎提供的路由,我得到:

ActionController::UrlGenerationError at /login
No route matches {:action=>"new", :controller=>"my_engine/sessions"}
这有什么问题,为什么它只发生在战俘身上

以下是重要的路由文件:

我的引擎/config/routes.rb:

Rails.application.routes.draw do

  get 'login', :controller => 'my_engine/sessions', :action => :new
  post 'login', :controller => 'my_engine/sessions', :action => :create
  get 'logout', :controller => 'my_engine/sessions', :action => :destroy

end
Rails.application.routes.draw do

  mount MyEngine::Engine => "/auth"

  root 'home#index'

  controller :home do
    get :index
    get :private, :as => 'private'
  end

end
我的引擎/spec/dummy/config/routes.rb:

Rails.application.routes.draw do

  get 'login', :controller => 'my_engine/sessions', :action => :new
  post 'login', :controller => 'my_engine/sessions', :action => :create
  get 'logout', :controller => 'my_engine/sessions', :action => :destroy

end
Rails.application.routes.draw do

  mount MyEngine::Engine => "/auth"

  root 'home#index'

  controller :home do
    get :index
    get :private, :as => 'private'
  end

end

编辑:我已经确定,当引擎也用于普通应用程序时,这不起作用,因此它不仅仅是虚拟应用程序。

因此,结果证明完全无关。我链接到的引擎服务页面包含一个
link\u to
帮助程序,其中第二个参数(路径)依赖于
ENV['RAILS\u ENV']
。在Pow中,该值为零(而在WEBrick中,它被设置为“开发”,正如作者预期的那样),因此它试图呈现
链接到('text',nil)
。这不知何故产生了上述错误