A cheatsheet by @ankane|Refreshed over 2 years ago.Refresh|View source on Github

:rocket: Best practices for developing with Rails

Always, always manually test what you’re building in development. It’s extremely important to have a fast feedback loop. Testing on staging or production is slow. If it’s not easy to test in development, spend time to make it easy.

Use dotenv-rails for environment variables. Do not check this in. Create a .env.example without secrets.

Use Foreman to manage multiple processes.

Set up debugging tools behind environment variables so you can enable and disable without changing code.

Use ruby-prof to profile code.

Use Bullet to find n + 1 queries.

Enable console history and autocomplete in your ~/.irbrc.

require "irb/completion"
require "irb/ext/save-history"
IRB.conf[:SAVE_HISTORY] = 10000

# and for awesome print
require "awesome_print"
AwesomePrint.irb!

Use Awesome Print or pry-rails for a friendlier console.

Use Cacheflow to instrument caches.

Use Letter Opener for email.

Use a tool like pgsync to sync data from another enviroment.

Use aliases for common commands. Here are a few of my favorites:

# rails
alias rc="bin/rails console"
alias dbm="bin/rails db:migrate"
alias dbr="bin/rails db:rollback"
alias fsw="foreman start -c web=1"

# git
alias gl="git pull -r"
alias gc="git commit"
alias gco="git checkout"
alias gcm="git checkout master"