【问题标题】:Rails::Engine routes not being loaded in production environmentRails::Engine 路由未在生产环境中加载
【发布时间】:2012-04-19 17:28:55
【问题描述】:

我遇到了一个非常奇怪的问题,我的路线在开发模式下运行良好,但在生产模式下却不行。

我的应用程序的大部分都包含在一个引擎中,该引擎被加载到主应用程序中,主应用程序的路由文件是这样开始的......

SandersteadParish::Application.routes.draw do
  mount Cms::Engine => "/cms"

我的路由文件在引擎中的前几行如下所示...

Cms::Engine.routes.draw do
  scope '(groups/:group_id)' do
  resources :pages do
    resources :widgets
      collection do
      post :layout, :add_panel, :split_panel
    end
  end

如果我运行 RAILS_ENV=development rails server,路由工作正常,但如果我运行 RAILS_ENV=production,它们不会被加载。

【问题讨论】:

  • 您是否已将该 gem 包含在您的 Gemfile 中?比如这样:gem 'cms', path: 'engines/cms'

标签: ruby-on-rails routes mount rails-engines


【解决方案1】:

当您添加添加引擎时,默认情况下是“隔离的”,这意味着需要使用引擎范围访问它的所有路由,例如 Cms.pages_path 您可以在此处找到更多信息 http://edgeguides.rubyonrails.org/engines.html#routes

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-06
    相关资源
    最近更新 更多