Failures:
1) User pages signup with valid information edit with invalid information
Failure/Error: before { click_button "Save changes" }
AbstractController::ActionNotFound:
The action 'update' could not be found for UsersController
# (eval):2:in `click_button'
# ./spec/requests/user_pages_spec.rb:105:in `block (6 levels) in <top (required)>'
Finished in 1.13 seconds
62 examples, 1 failure
Failed examples:
rspec ./spec/requests/user_pages_spec.rb:107 # User pages signup with valid information edit with invalid information 我认为它没有在我的users_controller.rb中看到我的更新操作,但是它在那里:
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
def new
@user = User.new
end
def create
@user = User.new(params[:user])
if @user.save
sign_in @user
flash[:success] = "Welcome to the Sample App!"
redirect_to @user
else
render 'new'
end
end
def edit
@user = User.find(params[:id])
end
end
def edit
@user = User.find(params[:id])
end
def update
@user = User.find(params[:id])
if @user.update_attributes(params[:user])
flash[:success] = "Profile updated"
sign_in @user
redirect_to @user
else
render 'edit'
end
end我以某种方式结束了两个编辑操作,但如果我删除其中一个,我可以让测试运行。我想我遇到的99%的麻烦都是因为到处都是结尾,并且在错误的地方插入了新的动作。谢谢你的帮助
发布于 2012-12-13 11:15:39
def edit
@user = User.find(params[:id])
end
end这里有一个双end。这将结束class UsersController。只需删除所有这些行,就可以了。
发布于 2012-12-13 11:16:22
首先,你必须匹配每一端。您可能正在删除第二个编辑操作,该操作将导致UserController类在第一个编辑操作中结束,因为您在该操作中有额外的结尾……
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
def new
@user = User.new
end
def create
@user = User.new(params[:user])
if @user.save
sign_in @user
flash[:success] = "Welcome to the Sample App!"
redirect_to @user
else
render 'new'
end
end
def edit
@user = User.find(params[:id])
end
def update
@user = User.find(params[:id])
if @user.update_attributes(params[:user])
flash[:success] = "Profile updated"
sign_in @user
redirect_to @user
else
render 'edit'
end
end
endhttps://stackoverflow.com/questions/13852324
复制相似问题