Rails引擎路由未加载

时间:2017-01-23 18:27:39

标签: ruby-on-rails

我有一个应用程序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是一个本地宝石 - 我可能需要做一些特殊的重新加载吗?)

1 个答案:

答案 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'不起作用,但这仍然有效。不确定区别是什么。