我系统中的路线是:
user_show GET /user/show(.:format) user#show.
控制器代码为:
def show
@user = User.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @user}
end
end
_spec.rb
describe 'GET #show' do
it 'should return success' do
get :show, id:@user.id
expect(response).to be_success
end
end
结果是:
失败/错误:expect(response).to be_success
预期成功?返回真,得到假
在浏览器中,当我输入 xxx/user/show 时,它会出错。
ActiveRecord::RecordNotFound in UserController#show
但是如果我输入 xxx/user/show?id=31,它会显示 id=31 的用户!!
感谢@Alex Wayne,我在这里添加了更多信息:我检查了 routes.rb 文件:
get "user/show"
get "user/index"
get "user/delete"
get "user/edit"
post "user/update"
resource :users, :path => :user, :as => :user
我个人认为我的队友不应该根据Rails Routing写下“get user/show, get user/index....” 。但我无法更改他们的代码。那么,有人知道如何测试 user/show?id=xxx 吗?非常感谢~!!!!