Ruby on rails Rails教程第9章中的失败测试 故障: 1) 用户页面使用有效信息注册使用无效信息编辑 失败/错误:{单击按钮“保存更改”之前} AbstractController::ActionNotFound: 找不到UsersController的操作“update” #(评估):2:在“单击按钮”中 #./spec/requests/user\u pages\u spec.rb:105:in'block(6级)in' 以1.13秒完成 62例,1例失败 失败的示例: rspec./spec/requests/user_pages_spec.rb:107#使用有效信息注册用户页面使用无效信息编辑
从中我可以看出,它没有在我的users_controller.rb中看到我的更新操作,但是它在那里:Ruby on rails Rails教程第9章中的失败测试 故障: 1) 用户页面使用有效信息注册使用无效信息编辑 失败/错误:{单击按钮“保存更改”之前} AbstractController::ActionNotFound: 找不到UsersController的操作“update” #(评估):2:在“单击按钮”中 #./spec/requests/user\u pages\u spec.rb:105:in'block(6级)in' 以1.13秒完成 62例,1例失败 失败的示例: rspec./spec/requests/user_pages_spec.rb:107#使用有效信息注册用户页面使用无效信息编辑,ruby-on-rails,ruby-on-rails-3,railstutorial.org,Ruby On Rails,Ruby On Rails 3,Railstutorial.org,从中我可以看出,它没有在我的users_controller.rb中看到我的更新操作,但是它在那里: Failures: 1) User pages signup with valid information edit with invalid information Failure/Error: before { click_button "Save changes" } AbstractController::ActionNotFound: The action 'update
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
class UsersController
我以某种方式结束了两个编辑操作,但是如果我删除其中一个,我就可以让测试运行。我想我99%的麻烦是到处都是末日,在错误的地方插入新动作。谢谢你的帮助
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
这里有一个双end
。这将结束类UsersController
。只要去掉这些线,你就会没事的
这里有一个双
end
。这将结束类UsersController
。只要去掉所有这些线,你就会没事。你首先必须匹配每一端。您可能正在删除第二个编辑操作,这会导致UserController类在第一个编辑操作上结束,因为您在该操作中有额外的结束
def edit
@user = User.find(params[:id])
end
end
class UsersController
首先必须匹配每个端点。您可能正在删除第二个编辑操作,这会导致UserController类在第一个编辑操作上结束,因为您在该操作中有额外的结束
def edit
@user = User.find(params[:id])
end
end
class UsersController
谢谢你,这完全有道理!我刚刚删除了双端的重复编辑操作,并添加了一个端到端,它通过了!但是我能请你看看我的用户页面吗?我也得到了失败的测试,我希望它的东西一样简单。再次感谢!这里有一个失败:1)用户页面注册有效信息失败/错误:在“密码”中填写:User.Password name错误:未定义的局部变量或方法User',用于#./spec/requests/User\u pages\u spec.rb:119:in
块(4级)中的“我没有太多测试经验”。从中引出一个新问题可能是个好主意。从添加的粘贴外观和错误来看:测试中没有定义user
。这应该是一个变量,我最好的猜测是它应该来自FactoryGirl课程。你是对的,我稍后会从中提出一个新问题,我在想两全其美…谢谢你,这完全有道理!我刚刚删除了双端的重复编辑操作,并添加了一个端到端,它通过了!但是我能请你看看我的用户页面吗?我也得到了失败的测试,我希望它的东西一样简单。再次感谢!这里有一个失败:1)用户页面注册有效信息失败/错误:在“密码”中填写:User.Password name错误:未定义的局部变量或方法User',用于#./spec/requests/User\u pages\u spec.rb:119:in
块(4级)中的“我没有太多测试经验”。从中引出一个新问题可能是个好主意。从添加的粘贴外观和错误来看:测试中没有定义user
。这应该是一个变量,我最好的猜测是它应该来自FactoryGirl课程。你是对的,我稍后会从中提出一个新问题,我在想两全其美…谢谢这就是问题所在谢谢。我有点纠结于结局。您是否偶然发现我的用户页面规格存在类似问题?跟踪这一点的最佳方法是,实际上只需遵循制表符模式,并在创建块时始终将其关闭。每做一件事都会有一个结局,是的,这就是问题所在,谢谢。我有点纠结于结局。您是否偶然发现我的用户页面规格存在类似问题?跟踪这一点的最佳方法是,实际上只需遵循选项卡模式a