Ruby on Rails
#ruby-on-
rails
Table of Contents
About 1
Chapter 1: Getting started with Ruby on Rails 2
Remarks 2
Versions 2
Examples 3
Creating a Ruby on Rails Application 3
Create a new Rails app with your choice of database and including the RSpec Testing Tool 5
Generating A Controller 6
Generate a Resource with Scaffolds 6
Create a new Rails app with a non-standard database adapter 7
Creating Rails APIs in JSON 8
Installing Rails 9
Chapter 2: ActionCable 12
Remarks 12
Examples 12
[Basic] Server Side 12
[Basic] Client Side (Coffeescript) 12
app/assets/javascripts/channels/notifications.coffee 12
app/assets/javascripts/application.js # usually generated like this 12
app/assets/javascripts/cable.js # usually generated like this 13
User Authentication 13
Chapter 3: ActionController 14
Introduction 14
Examples 14
Output JSON instead of HTML 14
Controllers (Basic) 14
Parameters 15
Filtering parameters (Basic) 15
Redirecting 16
Using Views 16
404 when record not found 18
Basic REST Controller 18
Display error pages for exceptions 19
Filters 20
Generating a controller 22
Rescuing ActiveRecord::RecordNotFound with redirect_to 23
Chapter 4: ActionMailer 25
Introduction 25
Remarks 25
Examples 25
Basic Mailer 25
user_mailer.rb 25
user.rb 25
approved.html.erb 26
approved.text.erb 26
Generating a new mailer 26
Adding Attachments 26
ActionMailer Callbacks 27
Generate a Scheduled Newsletter 27
ActionMailer Interceptor 34
Chapter 5: Active Jobs 36
Examples 36
Introduction 36
Sample Job 36
Creating an Active Job via the generator 36
Chapter 6: Active Model Serializers 37
Introduction 37
Examples 37
Using a serializer 37
Chapter 7: ActiveJob 38
Introduction 38
Examples 38
Create the Job 38
Enqueue the Job 38
Chapter 8: ActiveModel 39
Remarks 39
Examples 39
Using ActiveModel::Validations 39
Chapter 9: ActiveRecord 40
Examples 40
Creating a Model manually 40
Creating a Model via generator 40
Creating A Migration 41
Add/remove fields in existing tables 41
Create a table 41
Create a join table 42
Precedence 42
Introduction to Callbacks 43
Create a Join Table using Migrations 44
Manually Testing Your Models 44
Using a model instance to update a row 45
Chapter 10: ActiveRecord Associations 46
Examples 46
belongs_to 46
has_one 46
has_many 47
Polymorphic association 47
The has_many :through association 48
The has_one :through association 48
The has_and_belongs_to_many association 48
Self-Referential Association 49
Chapter 11: ActiveRecord Locking 50
Examples 50
Optimistic Locking 50
Pessimistic Locking 50
Chapter 12: ActiveRecord Migrations 51
Parameters 51
Remarks 51
Examples 51
Run specific migration 51
Create a join table 52
Running migrations in different environments 52
Add a new column to a table 53
Add a new column with an index 53
Remove an existing column from a table 53
Add a reference column to a table 54
Create a new table 54
Adding multiple columns to a table 55
Running migrations 55
Rollback migrations 56
Rollback the last 3 migrations 56
Rollback all migrations 56
Changing Tables 56
Add an unique column to a table 57
Change an existing column’s type 57
A longer but safer method 57
Redo migrations 58
Add column with default value 58
Forbid null values 59
Checking migration status 59
Create a hstore column 59
Add a self reference 60
Create an array column 60
Adding a NOT NULL constraint to existing data 60
Chapter 13: ActiveRecord Query Interface 62
Click here to download full PDF material