2012-07-17 71 views
19

對不起,打擾你,但我有很多關於這個錯誤的問題。 第一,這是我的user_controller rspec的文件PG ::錯誤:錯誤:關係「用戶」不存在

需要 '投機/ spec_helper'

describe UserController do 

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

這是我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 

和我的routes.rb(我認爲這個問題是在這裏,藉口我但我是新語言)

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

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

當我嘗試測試我的user_controller_rspec然後我得到這個錯誤

失敗:

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 

我怎麼能解決這個問題...感謝

+0

您在下面列出了正確答案。你應該接受它 – panzhuli 2013-11-02 20:35:59

回答

45

來看,這種

rake db:migrate 

那麼這

rake db:test:prepare 
+0

我正在工作惠普rspec這是不管? – Asantoya 2012-07-17 19:53:20

+0

是的,你需要這樣做rspec – drhenner 2012-07-17 19:55:50

+1

我編輯你的問題看起來像真正的代碼...下一次在任何代碼之前添加4個空格。 – drhenner 2012-07-17 19:56:41

3

替代變量nt

RAILS_ENV=test rake db:migrate

相關問題