2013-10-21 38 views
1

我正在寫一個完整的引擎,其中將包括設計以下this guide。然而,該指南是基於安裝的引擎,而不是一個完整的引擎,我認爲可能是以下錯誤的原因:錯誤,包括設計在軌道4全引擎

RuntimeError: Rails::Application::RoutesReloader#execute_if_updated delegated to updater.execute_if_updated, but updater is nil: #<Rails::Application::RoutesReloader:0x007f843d9518e8 

的routes.rb

Rails.application.routes.draw do 

    # Some other stuff 

    devise_for :users, { 
    class_name: 'User', 
    module: :devise 
    }, controllers: { 
    registrations: 'users/registrations', 
    sessions: 'users/sessions', 
    passwords: 'users/passwords' 
    } 
end 

初始化/ devise.rb

Devise.setup do |config| 
    config.router_name = :user 
    config.secret_key = 'secret_key' 
end 

LIB/my_engine/engine.rb

module MyEngine 
    class Engine < ::Rails::Engine 
    require "devise" 
    end 
end 

回答

1

Rails的沒有顯示你正確的錯誤,由於發現問題在這裏:https://github.com/rails/rails/issues/10559

嘗試格式化devise_for聲明是這樣的:

devise_for :users, { 
    class_name: 'User', 
    module: :devise, 
    controllers: { 
     registrations: 'users/registrations', 
     sessions: 'users/sessions', 
     passwords: 'users/passwords' 
    } 
    } 

它看起來像你的devise.rb文件是由產生老版本的寶石。嘗試刪除devise.rb並運行rails g devise:install