2011-05-23 3 views
0

J'ai eu une erreur vraiment étrange et je me demandais si quelqu'un pouvait m'éclairer sur ce qui se passait.Rails - Erreur de contrôleur

Tout d'abord voici mon code:

class UsersController < ApplicationController 
def index 
    list 
    render("list") 
end#end index 
def new 
    @user = User.new 
end#end new 
def create 
    @user = User.new(params[:user]) 
    if @page.save 
     flash[:notice] = "Page Created Successfully!" 
     redirect_to(:action => 'list') 
    else 
     render('new') 
    end#if else 
end#end create 
def list 
    @list = User.order('users.position ASC') 
end#end list 
def show 
    @user = User.find(params[:id]) 
end#end show 
def edit 
    @user = User.find(params[:id]) 
end#end edit 
def update 
    @user = User.find(params[:id]) 
    if @user.update_attributes(params[:page]) 
     flash[:notice] = "Page updated Successfully" 
     redirect_to(:action => 'show', :id => @user.id) 
    else 
     render('edit') 
    end#end if else 
end#end update 
def delete 
    @user = User.find(params[:id]) 
end#end delete 
def destroy 
    User.find(params[:id]).destroy 
    flash[:notice] = "User has been removed" 
    redirect_to(:action => 'list') 
end#end destroy 
end#end class 

Je reçois une erreur de type quand je lance le serveur et aller à http://localhost:3000/users/new

NameError dans UsersController # nouveau

uninitialized de UsersController constante :: Utilisateur Rails.root: C: // Documents/Programmation/Ruby Files/kccoding

Application n Trace | Trace de cadre | Full Trace app/controllers/users_controller.rb: dans 'new'

Mais je ne me vois pas essayer de faire ça du tout ... ET je ne reçois aucun numéro de ligne pour savoir où cette erreur est venant de ... Des suggestions?

Kelan

EDIT ~~~ J'ai changé les variables à l'utilisateur. <>, mais j'obtiens une erreur "constante non initialisée UsersController :: User". C'est dans la méthode que j'essaie d'appeler.

Répondre

0

Je pense que ceci est votre problème:

render('new') 

Il devrait être:

render :action => 'new' 

Essayez que dans votre méthode new.

0

Vous êtes sûr que ce n'est pas User.new que vous voulez.

def new 
    @user = User.new 
end#end new 
+0

Je recevais une erreur constante UserController :: User non initialisée lorsque je l'ai fait, donc je ne suis pas sûr ... –

+0

Avez-vous défini un modèle utilisateur dans app/models/user.rb? – mbreining

+0

Ouais, j'ai beaucoup de choses sur la création de mots de passe et autres là –

0

Au lieu de Users.new vous devez taper:

def new 
    @user = User.new 
end#end new 

Vérifiez le nom propre du modèle partout dans le contrôleur (Utilisateurs => Utilisateur)

+0

Je recevais une constante non-initialisée UsersController :: User erreur quand je l'ai fait, donc je ne suis pas sûr .. –

+0

Alors, quel est le nom de votre modèle d'utilisateur? – Hck

+0

Avez-vous des itinéraires appropriés dans config/routes.rb (resources: users)? – Hck

0

Il semble erreur ne se contente pas venir à partir du code du contrôleur. Est-ce que vous postez votre trace d'erreur à partir des fichiers journaux, quelque chose peut être trouvé à partir de cela seulement.