Ruby on Rails Cheatsheet
Quick reference for Ruby on Rails: MVC, routes, controllers, models, views, helpers, migrations, and commands.
| Feature | Description | Example | Category |
|---|---|---|---|
| MVC Structure | Model-View-Controller architecture | app/models, app/views, app/controllers | MVC |
| routes.rb | Define application routes | get "/users", to: "users#index" | Routing |
| RESTful routes | Automatic CRUD routes | resources :posts | Routing |
| Controller actions | Handle requests & responses | def show @user = User.find(params[:id]) end | Controllers |
| Strong params | Permit allowed parameters | params.require(:user).permit(:name, :email) | Controllers |
| ActiveRecord | ORM for database interaction | User.where(active: true) | Models |
| Validations | Validate data before saving | validates :email, presence: true, uniqueness: true | Models |
| Associations | Define relations between models | has_many :posts belongs_to :user | Models |
| ERB templates | Embedded Ruby in HTML | <%= @user.name %> | Views |
| Partials | Reusable view components | <%= render "shared/header" %> | Views |
| Layouts | Define common page structure | app/views/layouts/application.html.erb | Views |
| View helpers | Methods for views | link_to "Home", root_path | Helpers |
| Path helpers | Generate URLs | users_path, new_user_path | Helpers |
| Create table | Define database schema | rails generate migration CreateUsers name:string email:string | Migrations |
| Run migrations | Apply schema changes | rails db:migrate | Migrations |
| Rails server | Start development server | rails server | Commands |
| Rails console | Interactive console | rails console | Commands |
| Generate scaffold | Auto-generate model, controller, views | rails generate scaffold Post title:string body:text | Commands |