Create A Rails App

Goals

  • Make a new Rails app

  • Add a few gems to make life easier

  • Learn a little about Bundler and dependency management

  • Start the Rails server and see the default Rails page

  • commit early, commit often

Steps

Step 1: create a rails app

Type this in the shell:
rails new job_board -T -d postgresql --minimal
  • The -T in that command means that when you make new files using Rails generators, it doesn't automatically create files for automatic testing
  • The -d in that command is for choosing the database.
  • The --minimal disables a dozend advanced features of rails that we won't need today

Watch all the files that are created! Wow!

Step 2: open the code in your editor

Move into the directory for your new Rails app:
cd job_board
Start VS Code from the commandline:
code .

Or do it the other way round: open VS code first, and then open the folder

  • Open VS Code
  • Under File, "Open Folder"

Discussion: Text Editor vs Command Line


Review the differences between the command line and your text editor, even if everyone already knows!

Step 3: Create The Database

When we created a new Rails app, we specified postgresql as the database. Do you have a postgres server running locally?

To create the databases we need run the following command:
rails db:create

Step 4: Look at the Dependencies

When we created a new Rails app, it installed a bunch of packages by default. The list of things Rails installed is in a file called Gemfile. If you want to add any additional third party code (aka gem), you can add more lines to the Gemfile and install them with bundle.

Rails has already installed all the stuff we need, but you can always run bundle again to re-install gems, or install gems newly added to the Gemfile. In the command line, run the following command:
bundle install

Discussion: What does 'bundle' do?


Bundler is the tool the Ruby community uses for dependency management.

  • What's dependency management?
  • Why do we need it?
  • Why do we even need gems?
  • Is there a shorter method to use for bundle install? (Hint: yes!)

Step 5: start the development server

Start the Rails server by running this command in the terminal:
rails server

Now is a good time to figure out how to have multiple tabs or windows of your terminal or command prompt. Starting and stopping the Rails server all day is tedious, so it's good to have one terminal tab or window for running commands, and a separate one for the server.

Step 6: open the app in the browser

Now, let's check out our default home page

In the browser, visit http://localhost:3000

Yup, that's the default Rails home page - even if your version numbers are a bit higher, and you are running on a different computer.

Now would be a good time to commit to git

commit this initial state of the code to git

Next Step: