Ruby on rails Rails 4引擎未从根应用程序加载路由
我已经创建了一个新的rails 4引擎,并尝试为新创建的引擎使用无装载路径,但它对我不起作用。下面是文件 app/routes.rb(根路由文件) 新建_engine/config/routes.rb(引擎路由文件) uhoh/lib/uhoh/engine.rb(引擎文件)Ruby on rails Rails 4引擎未从根应用程序加载路由,ruby-on-rails,ruby,ruby-on-rails-4,rails-engines,Ruby On Rails,Ruby,Ruby On Rails 4,Rails Engines,我已经创建了一个新的rails 4引擎,并尝试为新创建的引擎使用无装载路径,但它对我不起作用。下面是文件 app/routes.rb(根路由文件) 新建_engine/config/routes.rb(引擎路由文件) uhoh/lib/uhoh/engine.rb(引擎文件) $rails插件新blorgh--可安装 应用程序目录树 config/routes.rb文件: lib/blorgh/engine.rb中的一个文件,其功能与标准Rails应用程序的config/application.
$rails插件新blorgh--可安装 应用程序目录树 config/routes.rb文件: lib/blorgh/engine.rb中的一个文件,其功能与标准Rails应用程序的config/application.rb文件相同: 模块Blorgh 类引擎<::Rails::引擎 结束 结束 --mountable选项将添加到--full选项中: 资产清单文件(application.js和application.css) 命名空间的应用程序控制器存根 命名空间的ApplicationHelper存根 引擎的布局视图模板 config/routes.rb的命名空间隔离: Blorgh::Engine.routes.draw do 结束 lib/blorgh/engine.rb的命名空间隔离: 模块Blorgh 类引擎<::Rails::引擎 隔离名称空间Blorgh 结束 结束 此外,--mountable选项通过将以下内容添加到位于test/dummy/config/routes.rb的虚拟应用程序的路由文件中,告知生成器在位于test/dummy的虚拟测试应用程序内安装引擎: mount Blorgh::Engine=>“/Blorgh” app/controllers/blorgh/articles\u controller.rb: 需要依赖项“blorgh/application\u controller” 模块Blorgh 类ArticlesController<应用程序控制器 ... 结束
结束我遵循了相同的文档,但为什么我的路由无法从我的根应用程序文件夹工作??您的Uhoh路由文件是否位于
Uhoh/config/routes.rb
中?是的,它位于Uhoh/config/routes.rb中
Rails.application.routes.draw do
mount Uhoh::Engine => "/uhoh"
resources :products
end
Uhoh::Engine.routes.draw do
get "failures#index"
end
module Uhoh
class Engine < ::Rails::Engine
isolate_namespace Uhoh
end
end
Prefix Verb URI Pattern Controller#Action
uhoh /uhoh Uhoh::Engine
products GET /products(.:format) products#index
POST /products(.:format) products#create
new_product GET /products/new(.:format) products#new
edit_product GET /products/:id/edit(.:format) products#edit
product GET /products/:id(.:format) products#show
PATCH /products/:id(.:format) products#update
PUT /products/:id(.:format) products#update
DELETE /products/:id(.:format) products#destroy
Routes for Uhoh::Engine: