2013-08-31 71 views
0

你好,我有這個在routes.rb中Rails的路由錯誤只在生產

namespace :admin do 
    root :to => "admin#index" 
    resources :employees 
    resources :customers 
    resources :users 
    end 

前端正常工作,我可以登錄到管理但我有鏈接像

<li><%= link_to "users", admin_users_path %></li>

等。 。

如果我點擊那個鏈接,我得到這個錯誤

uninitialized constant Admin::UsersController 

,或者如果我在admin_employees_path點擊我得到

uninitialized constant Admin::EmployeesController 

和行爲是在服務器rails s一切行政

每一個環節都是罰款:對

用戶控制器等被定義即

class UsersController < Admin::AdminController 

文件位置在 控制器/管理/ admin_controller.rb 控制器/ users_controller.rb

我的環境文件

development.rb

Web::Application.configure do 
    config.cache_classes = false 
    config.whiny_nils = true 
    config.consider_all_requests_local  = true 
    config.action_controller.perform_caching = false 
    config.action_mailer.raise_delivery_errors = false 
    config.active_support.deprecation = :log 
    config.action_dispatch.best_standards_support = :builtin 
    config.active_record.mass_assignment_sanitizer = :strict 
    config.active_record.auto_explain_threshold_in_seconds = 0.5 
    config.assets.compress = false 
    config.assets.debug = true 
end 

production.rb

Web::Application.configure do 
    config.cache_classes = true # different 
    config.assets.compress = true # different 

    config.consider_all_requests_local  = true # temporary true 
    config.action_controller.perform_caching = false 

    # not in development 
    config.serve_static_assets = false 
    config.assets.compile = true 
    config.assets.digest = true 
    config.i18n.fallbacks = true 
    config.active_support.deprecation = :notify 
end 
+0

嘗試檢查production.rb中比development.rb還有什麼特別之處? –

+0

你好我編輯的問題,並張貼我的環境文件,其幾乎默認只編譯和request_local我改變我記得,但多數民衆贊成在 – Muflix

回答

0

你正在定義y我們的用戶資源位於admin命名空間下,但未在控制器中定義它。

移動你的users_controller到/控制器/管理/ users_controller和命名空間追加到類聲明

class Admin::UsersController < Admin::AdminController

或移動 資源:用戶管理員命名空間之外。

+0

但爲什麼應用程序工作在開發模式? – Muflix

+2

你的問題可能是config.cache_classes = false,因爲它試圖緩存生產模式下的類,它不能按照慣例找到它們。這並不是試圖將它們緩存在開發模式中,只是猜測,嘗試使用這些設置並讓我知道。 – DevDude

+0

哇謝謝你,你是我的英雄:-) – Muflix