抱歉打扰你,但我对这个错误有很多疑问.首先这是我的user_controller rspec文件
需要'spec/spec_helper'
describe UserController do
it "create new user" do
post "create"
assigns[:users].should_not be_new_record
end
end
Run Code Online (Sandbox Code Playgroud)
这是我的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
Run Code Online (Sandbox Code Playgroud)
和我的routes.rb(我认为问题在这里,对不起,但我是这种语言的新手)
Estaciones::Application.routes.draw do
devise_for :users
root :to => "home#index"
resources :user
end
Run Code Online (Sandbox Code Playgroud)
当我尝试测试我的user_controller_rspec然后我得到这个错误
失败:
1) UserController create new user
Failure/Error: post "create"
ActiveRecord::StatementInvalid:
PG::Error: ERROR: relation "users" does not exist …Run Code Online (Sandbox Code Playgroud) 各位大家好,我有这个问题(帖子标题).
Failure/Error: get :create, :user => { :email => 'foo@example.com', :name => 'userexample' }
ActionController::RoutingError:No route matches {:action=>"show", :controller=>"user", :id=>nil}
Run Code Online (Sandbox Code Playgroud)
这是我的UserController.
class UserController < ApplicationController
def new
end
def create
@user = User.new(params[:user])
@user.save
redirect_to :action => :show, :id => @user.id
end
def show
@user = User.find(params[:id])
end
end
Run Code Online (Sandbox Code Playgroud)
这是我的routes.rb
::Application.routes.draw do
devise_for :users
root :to => "user#index"
resources :user
#match "newuser" => "user#new"
get "user/new"
post "user/create"
get "user/:id" => "user#show"
Run Code Online (Sandbox Code Playgroud)
这是我的rspec测试
require 'spec/spec_helper'
describe UserController do …Run Code Online (Sandbox Code Playgroud)