2013-10-20 116 views
0

我有一個奇怪的錯誤與我滑軌4.0.0應用程序與色器件3.1.1啓動時的服務器或耙路線設計,軌道4,5和路由錯誤

Rails::Application::RoutesReloader#execute_if_updated delegated to updater.execute_if_updated, but updater is nil: 
# <Rails::Application::RoutesReloader:0x000000044f5e80 
@paths=["/opt/web/devise/config/routes.rb"], 
@route_sets=[#<ActionDispatch::Routing::RouteSet:0x000000045ce190>]> 

我的routes.rb

devise_for :users, :path => "/", :path_names => { 
    :sign_in => "signin", 
    :sign_out => "signout", 
    :sign_up => "signup" 
} 

我application_controler.rb

before_filter :configure_strong_parameters, if: :devise_controller? 
... 
protected 
    def configure_strong_parameters 
    devise_parameter_sanitizer.for(:sign_up) << :gender, :name, :lastname, :birthday, :country 
    end 

我users_controler.rb

private 

    def user_params 
    params.require(:user).permit(:pseudo, :email, :gender, :name, :lastname, :birthday, :password, :password_confirmation, :country) 
    end 

我User.rb

devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable 

我嘗試刪除寶石,除去devise.rb初始化並重新安裝,沒有變化。

回答

1

試試這個:

我今天遇到這個問題。 Rails 4.0.0和設計3.10。

當我添加到模型中的User.rb時,問題就開始了。很明顯,你可以將設計生成的東西留在頂層,獨自進行,並且將所需的任何更改放在下面,否則你會得到這個錯誤。

如果這不起作用嘗試再次使用rails g devise User,然後獨自離開默認的東西在上面,然後把你要下面,無論新代碼再生user.rb。

BTW,默認應該是這樣的:

class User < ActiveRecord::Base 
    # Include default devise modules. Others available are: 
    # :confirmable, :lockable, :timeoutable and :omniauthable 
    devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable 

***Put your code here*** 
end