I recently watched the railscast episode #250 Authentication from Scratch (revised) and I have the signup / login / logout actions working. However I am working on creating an action to delete a user from the database, but I am currently experiencing some errors when I try to delete a user.
The users_controller.rb delete / destroy actions look like the following,
def delete
    # the below line calls the destroy method / action
    self.destroy
  end
  def destroy
    session[:user_id] = nil
    # @user = User.find(params[:id])
    @user.destroy
    # User.find(parmas[:id]).destroy
    # the below line didn't delete the current user :(
    # @user = User.destroy
    redirect_to :controller=>'users', :action => 'new'
  end
The error message I'm getting in the browser when I try to delete a user looks like the following.

The page that contains the delete link looks like the following, index.html.erb
<h1>Welcome 
    <% if current_user %>
        <%= current_user.email %>
    <% end %>
</h1>
<p>You have <%= current_user.credit %> credits.</p>
<!-- http://stackoverflow.com/questions/5607155/ -->
<%= link_to('Delete your account', :controller => 'users', :action => 'destroy') %>
routes.rb
Rails.application.routes.draw do
  # the below generated route is not necessary
  # get 'sessions/new'
  # delete user route
  #get 'delete' => 'users#delete'
  # shortened routes, per railscast comment
  get 'signup' => 'users#new'
  get 'login' => 'sessions#new'
  get 'logout' => 'sessions#destroy'
  # get 'signup', to: 'users#new', :as 'signup'
  # get 'login', to: 'sessions#new', :as 'login'
  # get 'logout', to: 'sessions#destroy', :as 'logout'
  resources :users
  resources :sessions
  root to: 'users#new'
  # get 'users/new'
  # the below line specifies JSON as the default API format
  namespace :api, defaults: {format: 'json'} do
    namespace :v1 do
      resources :users
    end
  end