我对rails非常陌生,并且正在编辑最初由其他人编写的代码,所以我可能需要比普通人更深入的响应......
我在运行rake时遇到此错误:
No route matches {:controller=>"users", :action=>"show", :id=>nil, :format=>nil} missing required keys: [:id]
似乎导致问题的一行是:
<%= link_to("My Account", user_path(current_user)) %>
链接实际上在localhost上正常工作,但是在第34行渲染:模板&#34;
it "renders new initiative form" do
assign(:initiative, Initiative.new(location: Location.new,rewards: [FactoryGirl.create(:reward)]))
render :template => "initiatives/new.html.erb" (...etc.)
不确定此处还包含哪些内容,但UsersController是:
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
end
和佣金路线的结果:
`batch_action_admin_users POST /admin/users/batch_action(.:format) admin/users#batch_action
admin_users GET /admin/users(.:format) admin/users#index
POST /admin/users(.:format) admin/users#create
new_admin_user GET /admin/users/new(.:format) admin/users#new
edit_admin_user GET /admin/users/:id/edit(.:format) admin/users#edit
admin_user GET /admin/users/:id(.:format) admin/users#show
PATCH /admin/users/:id(.:format) admin/users#update
PUT /admin/users/:id(.:format) admin/users#update
DELETE /admin/users/:id(.:format) admin/users#destroy
batch_action_admin_comments POST /admin/comments/batch_action(.:format) admin/comments#batch_action
admin_comments GET /admin/comments(.:format) admin/comments#index
POST /admin/comments(.:format) admin/comments#create
admin_comment GET /admin/comments/:id(.:format) admin/comments#show
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
user_omniauth_authorize GET|POST /users/auth/:provider(.:format) omniauth_callbacks#passthru {:provider=>/twitter|facebook/}
user_omniauth_callback GET|POST /users/auth/:action/callback(.:format) omniauth_callbacks#(?-mix:twitter|facebook)
user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PATCH /users/password(.:format) devise/passwords#update
PUT /users/password(.:format) devise/passwords#update
cancel_user_registration GET /users/cancel(.:format) registrations#cancel
user_registration POST /users(.:format) registrations#create
new_user_registration GET /users/sign_up(.:format) registrations#new
edit_user_registration GET /users/edit(.:format) registrations#edit
PATCH /users(.:format) registrations#update
PUT /users(.:format) registrations#update
DELETE /users(.:format) registrations#destroy
user GET /users/:id(.:format) users#show`
也许有人可以提供帮助?
答案 0 :(得分:0)
在渲染模板之前,您应该使用Devise登录助手进行登录。 https://github.com/plataformatec/devise/wiki/How-To:-Test-with-Capybara