Note that there are some explanatory texts on larger screens.

plurals
  1. POActiveRecord::RecordNotFound - Couldn't find User without an ID
    text
    copied!<p>Following Hartl's RailTutorial for Rails(3.2). I keep getting this error message or oddly a "The connection was reset" message:</p> <pre><code>ActiveRecord::RecordNotFound in UsersController#show Couldn't find User without an ID </code></pre> <p>I'm trying to log in and after successfully logging in, I want the application to redirect the user to user/show.html.erb. I believe that I'm passing the :id parameter in the show method in the users controller. Any tip/help would be appreciated!</p> <p>I've pasted some relevant files below. Let me know if you guys need anything else.</p> <p>sessions_controller.rb</p> <pre><code>class SessionsController &lt; ApplicationController def new @title = "Log in" end def create user = User.find_by_email(params[:session][:email]) if user.nil? flash.now[:error] = "Invalid email/password combination." @title = "Sign in" render 'new' else flash.now[:success] = "Successful login!" sign_in user redirect_to 'users/show' end end def destroy sign_out redirect_to root_path[:name] end end </code></pre> <p>users_controller.rb</p> <pre><code>class UsersController &lt; ApplicationController def new @user = User.new @title = "Sign up" end def show if params[:id].nil? &amp;&amp; current_user @user = current_user else @user = User.find(params[:id]) end @title = @user.name end def create @user = User.new(params[:user]) if @user.save sign_in @user flash[:success] = "Account created!" redirect_to @user else @title = "Sign up" render 'new' end end def destroy @user.destroy redirect_to users_path, :flash =&gt; { :success =&gt; "User destroyed." } end end </code></pre> <p>routes.rb</p> <pre><code>SampleApp::Application.routes.draw do resources :users resources :sessions, :only =&gt; [:new, :create, :destroy] match '/sessions', :to =&gt; 'users#show' match '/signup', :to =&gt; 'users#new' match '/login', :to =&gt; 'sessions#new' match '/logout', :to =&gt; 'sessions#destroy' root :to =&gt; 'pages#home' </code></pre> <p>Edit: Added sessions_helper.rb</p> <pre><code>module SessionsHelper def sign_in(user) cookies.permanent.signed[:remember_token] = user.remember_token current_user = user end def signed_in? !current_user.nil? end def current_user=(user) @current_user = user end def current_user @current_user ||= user_from_remember_token end def sign_out cookies.delete(:remember_token) current_user = nil end private def user_from_remember_token remember_token = cookies[:remember_token] User.find_by_remember_token(remember_token) unless remember_token.nil? end end </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload