EasyRails: Build Your First Rails App in Under an Hour
Getting a web app running quickly is rewarding and a great way to learn Ruby on Rails. This guide walks you through building a simple blog app using EasyRails, focusing on the essential steps so you can have a working app in under an hour. Assumed: you have Ruby, Rails, Node (or a JS runtime), and a database (SQLite is fine) installed.
1. Create the Rails app (5 minutes)
Open a terminal and run:
rails new easyrails_blog –skip-test –database=sqlite3cd easyrails_blog
This scaffolds a minimal Rails app using SQLite for quick setup.
2. Generate a Post scaffold (5 minutes)
Create a model, controller, views, and routes for posts:
rails generate scaffold Post title:string body:textrails db:migrate
Scaffold gives you CRUD functionality immediately.
3. Start the server and verify (2 minutes)
rails server
Visit http://localhost:3000/posts to see the posts index and create your first post.
4. Add simple validation and polish (5 minutes)
Open app/models/post.rb and add:
class Post < ApplicationRecord validates :title, presence: true validates :body, presence: true, length: { minimum: 10 }end
Restart server if needed. Forms will now show validation errors.
5. Improve UX: set root route and basic navigation (5 minutes)
Edit config/routes.rb:
root “posts#index”resources :posts
Update app/views/layouts/application.html.erb to add a header link:
<%= link_to “EasyRails Blog”, root_path %> | <%= link_to “New Post”, new_post_path %>
6. Quick styling with Tailwind (10–15 minutes, optional)
Rails 7 supports Tailwind easily. Install via:
bin/rails turbo:install stimulus:install./bin/bundle add tailwindcss-railsbin/rails tailwindcss:install
Add simple classes to app/views/posts/_form.html.erb and index/show views to improve appearance.
7. Add pagination (optional, 5–10 minutes)
Add the kaminari gem in Gemfile:
gem “kaminari”
Run bundle install, then in PostsController:
def index @posts = Post.order(created_at: :desc).page(params[:page]).per(5)end
And add pagination links in index view:
<%= paginate @posts %>
8. Deploy quickly with Render or Heroku (optional, 10–15 minutes)
For a one-click deploy, follow provider guides; Render and Heroku detect Rails apps and handle build steps. Ensure you use production DB (Postgres) in production and set RAILS_MASTERKEY if using credentials.
9. Next steps (recommended)
- Add user authentication (Devise or a simple custom system).
- Add image uploads (Active Storage).
- Write tests (Minitest or RSpec).
- Configure CI/CD and automated deploys
Troubleshooting tips
- “Webpacker/Yarn” errors — ensure Node and a JS runtime are installed.
- DB migration errors — check schema.rb and run rails db:reset if safe.
- Asset problems in production — precompile assets:
RAILSENV=production bin/rails assets:precompile.
You now have a minimal, working Rails blog built in under an hour. Tweak models, views, and styles to turn it into a production-ready app.
Leave a Reply