2012-07-17 20 views
19

आपको परेशान करने के लिए खेद है लेकिन मुझे इस त्रुटि के बारे में बहुत सारे प्रश्न हैं। पहले यह मेरा user_controller rspec फ़ाइलपीजी :: त्रुटि: त्रुटि: संबंध "उपयोगकर्ता" मौजूद नहीं है

की आवश्यकता होती है 'कल्पना/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 

जब मैं अपना परीक्षण करने की कोशिश करता हूं

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

उत्तर

45

रन इस

rake db:migrate 

तो यह

rake db:test:prepare 
+0

मैं श्वेत rspec काम कर रहा हूँ कोई फर्क नहीं पड़ता ?? – Asantoya

+0

हाँ आपको rspec – drhenner

+1

के लिए ऐसा करने की आवश्यकता है मैंने आपके प्रश्न को वास्तविक कोड की तरह दिखने के लिए संपादित किया ... अगली बार किसी भी कोड से पहले 4 रिक्त स्थान जोड़ें। – drhenner

3

: user_controller_rspec तो मैं इस त्रुटि

विफलताओं मिलता है वैकल्पिक varia एनटी

RAILS_ENV=test rake db:migrate

संबंधित मुद्दे