> For the complete documentation index, see [llms.txt](https://certil-remy.gitbook.io/learn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://certil-remy.gitbook.io/learn/rails/untitled-64/untitled-3.md).

# Sessions Controller Lab

## Objectives

We're going to build a Rails app that handles sessions with a `SessionsController`. We won't have passwords—for now, we're going to ask the user what to call them, and we'll just use that as their username.

## Introduction

Our app will have two pages:

1. A home page or root route.
   * If the user is not logged in, the page should show them a login link.
   * If the user is logged in, the page should say, "hi, #{name}", and provide a logout link.
2. A login page
   * Users can enter their name in a form and click 'login'. Thereafter, the app will refer to them by that name.
   * If the user does not enter a name, they are not logged in. Return them to the login page.

## Instructions

1. Create the sessions controller.

   **Note:** If you use the generators to generate your controllers, be sure to pass these flags to avoid generating unneeded files and routes: `rails generate controller Sessions new --no-helper --no-assets --no-test-framework --skip-routes --skip`. (For those who are curious, the `--skip` tag prevents the generator from conflicting with existing files.)
2. Write the `new`, `create`, and `destroy` methods.
3. Ensure that your tests pass!

Clone <https://github.com/learn-co-curriculum/sessions_controller_lab>
