我在尝试注销用户时遇到此错误。我查了很多这个相同错误的帖子,但没有人解决我的错误,我希望你能帮助我。尝试注销时出错:无法找到具有'id'的用户= sign_out
误差如下:
ActiveRecord::RecordNotFound in UsersController#destroy
Couldn't find User with 'id'=sign_out
以下是我的代码:
users_controller.rb
def destroy
@user.destroy
respond_to do |format|
format.html { redirect_to unauthenticated_root_path }
format.json { head :no_content }
end
end
private
private
# Use callbacks to share common setup or constraints between actions.
def set_user
@user = User.find(params[:id])
end
视图/用户/ index.html.erb
<li>
<%= link_to "Logout", destroy_user_session_path, :method => :delete %>
</li>
routes.rb
Rails.application.routes.draw do
get 'admin/index'
resources :contacts
resources :afections
resources :injuries
resources :allergies
resources :trainers
resources :idusuarios
resources :diseases
resources :weights
resources :diets
resources :exercices
resources :profiles
resources :users
devise_for :users
get '/users/sign_out' => 'devise/sessions#destroy'
devise_scope :user do
authenticated :user do
root 'pagina#index', as: :authenticated_root
end
unauthenticated do
root 'devise/sessions#new', as: :unauthenticated_root
end
end
end
解决! routes.rb结尾是这样的: 'get'/ users/sign_out'=>'devise/sessions#destroy' resources:users' –