2012-07-17 51 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

相关问题