Undefined method `id' for nil:NilClass

Boa tarde,

Eu estou tentando fazer um sistema de login, mas sempre que eu chamo a função de criar a seção ele acaba me dando esse erro
"undefined method `id’ for nil:NilClass"
Já gastei um tempo procurando mas não consegui descobrir como que eu deveria chamar o ID.

def log_in(user)
**session[:user_id] = user.id  #linha do erro**
end
def current_user
	@current_user ||= User.find_by(id: session[:user_id])
end

def logged_in?
	!current_user.nil?
end

O controlador

class SessionController < ApplicationController
def new
end

def create
user = User.find_by(email: params[:session][:email].downcase)
log_in user
redirect_to user
end

def destroy
end

end
(Não sei pq ele não entrou no bloco de código)

A tela de login

<% provide(:title, “Log in”) %>

Log in

<div class= "padding">
<div class="cold-md6 cold-md-offset-3">
<%= form_for(:session, url: login_path) do |f| %>

<%= f.label :email %>
<%= f.email_field :email, class: "form-control" %>

<%= f.label :senha %>
<%= f.password_field :password, class: "form-control" %>

<%= f.submit "Log in", class: "btn btn-primary" %>

<% end %>


<p>Novo usuário? <%= link_to "Cadastre-se agora mesmo =)", cadastro_path %></p>
</div>

E as rotas

Rails.application.routes.draw do
get 'session/new’
get 'users/new’
root 'static_pages#home’
get ‘/contato’, to: 'static_pages#contato’
get ‘/cadastro’, to: 'users#new’
post ‘/cadastro’, to: 'users#create’
get ‘/login’, to: 'session#new’
post ‘/login’, to: 'session#create’
delete ‘/logout’, to: 'session#destroy’
resources :users

end

Caso alguem queira ver o projeto completo

Muito provável que esse linha no teu controlador:

User.find_by(email: params[:session][:email].downcase)

…não está retornando o User, por isto que quando você chama log_in(user), este user está nil. Verifique na action create como estão vindo os params.