我有一个应用程序my_app和一个引擎my_engine。
my_app路线:
Rails.application.routes.draw do
mount MyEngine::Engine => "/api"
end
my_engine路线:
MyEngine::Engine.routes.draw do
post "files/sync" => "files#sync"
end
从my_app,我运行rails routes
,并看到以下内容:
Prefix Verb URI Pattern Controller#Action
my_engine_engine /api MyEngine::Engine
Routes for MyEngine::Engine:
如您所见,Routes for MyEngine::Engine:
显示0结果。我已经尝试过书中关于这个问题的每一个答案,但没有任何作用。
为什么应用程序没有列出我的引擎路由?
(请注意,my_engine是一个本地宝石 - 我可能需要做一些特殊的重新加载吗?)
答案 0 :(得分:0)
一个解决方案变成了变化:
gem 'my_engine', path: '/Users/me/Desktop/my_engine_gem'
到:
gem 'my_engine', path: '/Users/me/Desktop/my_engine_gem', require: 'my_engine'
虽然在初始化程序中放置require 'my_engine'
不起作用,但这仍然有效。不确定区别是什么。