Ruby on rails 导轨:在嵌套路线内安装发动机

Ruby on rails 导轨:在嵌套路线内安装发动机,ruby-on-rails,ruby,routing,rails-engines,Ruby On Rails,Ruby,Routing,Rails Engines,我正在尝试在同一个应用程序的两个不同点安装引擎 第一点是在根级别“localhost:3000/news”上工作的 第二个是一个资源深度,具有如下所需的url结构:“localhost:3000/victions/1/news”。这是行不通的 我正在初始化主机应用程序路由文件中的引擎,如下所示 mount NewsEngine::Engine => "/" resources :venues do mount NewsEngine::Engine => "/"

我正在尝试在同一个应用程序的两个不同点安装引擎

第一点是在根级别“localhost:3000/news”上工作的

第二个是一个资源深度,具有如下所需的url结构:“localhost:3000/victions/1/news”。这是行不通的

我正在初始化主机应用程序路由文件中的引擎,如下所示

  mount NewsEngine::Engine => "/" 
  resources :venues do
    mount NewsEngine::Engine => "/" 
  end
然而,运行rake路由只产生第一级路由

newsitems GET  /news(.:format)              news_engine/newsitems#index                                       
 newsitem GET  /news/:newsitem_id(.:format) news_engine/newsitems#show 
奇怪的是,即使引用第一个级别也会引发错误:

=link_to "News", intertain_news_engine.newsitems_path
=> No route matches {:action=>"index"} missing required keys: [:venue_id]
我在尝试调用
vention\u newsitems\u path
时会遇到此错误,但调用
newsitems\u path

引擎本身中的路由文件如下所示

NewsEngine::Engine.routes.draw do
  resources :newsitems, param: :newsitem_id,
                        only: [:index, :show],
                        path: 'news'

end
使用主机应用程序中的配置块检索场馆,这些配置块告诉引擎从主机应用程序控制器调用before_action方法-尽管我不知道这会是一个怎样的问题,因为目前这似乎完全取决于路由