2012-07-17 20 views
19

scusate per disturbo, ma ho un sacco di domande su questo errore. un primo momento questo è il mio file di user_controller rspecPG :: Errore: ERRORE: la relazione "utenti" non esiste

richiedono 'spec/spec_helper'

describe UserController do 

it "create new user" do 
    post "create" 
    assigns[:users].should_not be_new_record 
end 
end 

questo è il mio UserController

class UserController < ApplicationController 
    def create 
    @users = User.new 
    if @users.save 
     flash[:notice] = 'new user was successfully created.' 
    else 
     render :action => :new 
    end 
    end 

    def new 
    @user = User.new 
    end 
end 

e la mia routes.rb (penso che il problema è qui, scusa ma io sono nuovo in questa lingua)

Estaciones::Application.routes.draw do 
    devise_for :users 

    root :to => "home#index" 
    resources :user 
end 

quando provo a testare il mio user_controller_rspec allora ottengo questo errore

Fallimenti:

1) UserController create new user 
    Failure/Error: post "create" 
    ActiveRecord::StatementInvalid: 
    PG::Error: ERROR: relation "users" does not exist 
    LINE 4:    WHERE a.attrelid = '"users"'::regclass 
              ^
    :    SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull 
        FROM pg_attribute a LEFT JOIN pg_attrdef d 
        ON a.attrelid = d.adrelid AND a.attnum = d.adnum 
        WHERE a.attrelid = '"users"'::regclass 
        AND a.attnum > 0 AND NOT a.attisdropped 
        ORDER BY a.attnum 
# ./app/controllers/user_controller.rb:3:in `new' 
# ./app/controllers/user_controller.rb:3:in `create' 
# ./spec/controllers/user_controller_spec.rb:6 

Finished in 0.01722 seconds 
1 example, 1 failure 

Failed examples: 

rspec ./spec/controllers/user_controller_spec.rb:5 # UserController create new user 

come posso risolvere il problema ... grazie

+0

si ha una risposta corretta elencata di seguito. dovresti accettarlo – panzhuli

risposta

45

periodo questo

rake db:migrate 

allora questo

rake db:test:prepare 
+0

sto lavorando con rspec che non importa ?? – Asantoya

+0

Sì, devi farlo per rspec – drhenner

+1

Ho modificato la tua domanda in modo che sembri un vero codice ... La prossima volta aggiungi 4 spazi prima di qualsiasi codice. – drhenner

3

Variabile alternativo nt

RAILS_ENV=test rake db:migrate

Problemi correlati