Rails 4.1.5引擎的路径没有出现在Rake路由中 - 相信它的命名惯例

时间:2014-11-14 00:04:53

标签: ruby-on-rails ruby ruby-on-rails-4 rails-engines

所以我正在努力尝试将Rails 4.1.5引擎/插件添加到我们的项目中,然后由rails加载。运行rake routes显示了我之后对其代码进行建模的其他引擎,但我相信我可能会遇到Rails命名约定的问题,这些问题我并不熟悉。出于我使用以下命令创建引擎的目的:

rails plugin new modules/admin/new_functions --skip-bundle --full

这为引擎创建了骨架。我确保每个this Rails文档使用引号的复数名称。我的控制器是:

module Admin
    class NewFunctionsController < AdminController
        def index
        end

        def create
        end
    end
end

我的config/routes.rb文件如下。我不确定资源:new_functions是否正确映射到我所拥有的控制器,但我不确定正确的形式是什么。

Rails.application.routes.draw do
    namespace :admin do
        resources :new_functions
    end
end

目录结构是:

new_functions
|-- app
    |-- assets
          |-- javascripts
              |-- admin
                  |-- new_functions
                      |-- supporting javascript files
    |-- controllers
          |-- new_functions_controller.rb
    |-- views
          |-- admin
              |-- new_functions
                  |-- supporting HTML/ERB files
|-- config
    |-- routes.rb
|-- lib
    |-- new_functions.rb
    |-- new_functions
          |-- engine.rb
          |-- version.rb
|-- test
    |-- new_functions_test.rb
    |-- test_helper.rb
|-- Gemfile
|-- Gemfile.lock
|-- Rakefile
|-- new_functions.gemspec

非常感谢您就识别此问题并修复此问题提出的任何建议。我可以采取任何步骤或阅读来找到问题也会有所帮助。

谢谢大家的时间。

1 个答案:

答案 0 :(得分:1)

经过进一步的研究,似乎有人添加了&#34; Spring&#34;到缓存rake routes的应用程序。停止弹簧bin/spring stop然后运行rake routes修复了未显示路线的问题。