THE RUBY ON RAILS TUTORIAL, 6TH ED. (EBOOK + VIDEO)

19h 55m 40s
English
Paid

Course description

The Ruby on Rails Tutorial has been updated for Rails 6! This is the 6th edition of the tutorial that Wikipedia founder Jimmy Wales once called his “favorite book”. Since its release in 2010, the Ruby on Rails Tutorial has been one of the leading introductions to web development, helping thousands of people start new careers, become freelance web developers, and found companies of their own. I’m grateful for all the support!

Read more about the course

Fully updated for Rails 6

This new edition of the Ruby on Rails Tutorial has been fully updated to be compatible with the recently released Rails 6. As with previous editions, the focus is on providing a thorough introduction to web development rather than on covering the latest features of Rails.

Indeed, because the core functionality of Rails has been so stable since Rails 4, most of the written text and screencasts haven’t changed much in several years. This is great news, since it means the skills you learn won’t soon go out of date.

That said, there have been updates throughout the tutorial, including:

  • Integrating Rails with Yarn and Webpack
  • Use of the newer form_with method to unify form_for and form_tag
  • A completely rewritten section on image upload using Active Storage, ImageMagick, and Amazon S3

How to get the Rails Tutorial

There are four main ways to get the 6th edition of the Ruby on Rails Tutorial:

  1. Ebook: 883 pages of content (HTML/PDF/EPUB/MOBI) with everything you need to learn web development with Ruby on Rails
  2. Ebook + downloadable videos: 883 pages plus 20 hours of downloadable video showing the kind of tacit knowledge that’s hard to capture in text
  3. Online course: A structured, self-paced course with online book access, all streaming videos, progress tracking, exercise answers, and more
  4. Learn Enough All Access Bundle: Access to the Rails Tutorial course and all the Learn Enough courses, covering Command Line, Text Editor, Git, HTML, CSS & Layout, JavaScript, and Ruby (full online texts, all streaming videos, progress tracking, exercise answers, and more)

You can find all four options on the Rails Tutorial website.

(If you already have the Rails Tutorial book, you can also get the screencasts by themselves. Note: The print edition is in preparation and will be available early next year.)

Finally, if cost is a factor, please consider applying for a Learn Enough Scholarship, which includes both free and discounted options on the Learn Enough and Rails Tutorial courses.

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 250 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online THE RUBY ON RAILS TUTORIAL, 6TH ED. (EBOOK + VIDEO)

0:00
/
#1: 1. From zero to deploy

All Course Lessons (250)

#Lesson TitleDurationAccess
1
1. From zero to deploy Demo
03:59
2
1.1 Up and running
01:22
3
1.1.1 Development environment
02:30
4
1.1.2 Installing Rails
03:01
5
1.2 The first application
02:26
6
1.2.1 Bundler
02:53
7
1.2.2 rails server
02:23
8
1.2.3 Model-View-Controller (MVC)
01:24
9
1.2.4 Hello, world!
02:39
10
1.3 Version control with Git
01:06
11
1.3.1 Installation and setup
07:43
12
1.3.2 What good does Git do you?
02:35
13
1.3.3 GitHub
03:17
14
1.3.4 Branch, edit, commit, merge
07:29
15
1.4 Deploying
00:43
16
1.4.1 Heroku setup and deployment
05:11
17
1.4.3 Heroku commands
01:54
18
1.5 Conclusion
00:20
19
2. A toy app
02:02
20
2.1 Planning the application
07:03
21
2.1.1 A toy model for users
00:40
22
2.1.2 A toy model for microposts
00:40
23
2.2 The Users resource
02:50
24
2.2.1 A user tour
02:24
25
2.2.2 MVC in action
05:39
26
2.2.3 Weaknesses of this Users resource
01:43
27
2.3 The Microposts resource
02:53
28
2.3.1 A micropost microtour
01:02
29
2.3.2 Putting the micro in microposts
02:01
30
2.3.3 A user hasmany microposts
05:39
31
2.3.4 Inheritance hierarchies
02:23
32
2.3.5 Deploying the toy app
03:57
33
2.4 Conclusion
00:43
34
3. Mostly static pages
00:25
35
3.1 Sample app setup
14:39
36
3.2 Static pages
00:27
37
3.2.1 Generated static pages
08:05
38
3.2.2 Custom static pages
04:05
39
3.3 Getting started with testing
01:12
40
3.3.1 Our first test
03:08
41
3.3.2 Red
01:17
42
3.3.3 Green
06:29
43
3.3.4 Refactor
00:26
44
3.4 Slightly dynamic pages
02:14
45
3.4.1 Testing titles (Red)
02:23
46
3.4.2 Adding page titles (Green)
02:55
47
3.4.3 Layouts and embedded Ruby (Refactor)
10:02
48
3.4.4 Setting the root route
01:17
49
3.5 Conclusion
07:23
50
3.6 Advanced testing setup
00:48
51
3.6.1 minitest reporters
01:38
52
3.6.2 Automated tests with Guard
03:55
53
4. Rails-flavored Ruby
00:14
54
4.1 Motivation
00:36
55
4.1.1 Built-in helpers
01:00
56
4.1.2 Custom helpers
07:04
57
4.2 Strings and methods
02:44
58
4.2.1 Strings
04:56
59
4.2.2 Objects and message passing
08:30
60
4.2.3 Method definitions
03:13
61
4.2.4 Back to the title helper
01:48
62
4.3 Other data structures
00:21
63
4.3.1 Arrays and ranges
11:21
64
4.3.2 Blocks
08:01
65
4.3.3 Hashes and symbols
13:30
66
4.3.4 CSS revisited
02:36
67
4.4 Ruby classes
00:23
68
4.4.1 Constructors
02:34
69
4.4.2 Class inheritance
07:06
70
4.4.3 Modifying built-in classes
03:19
71
4.4.4 A controller class
02:41
72
4.4.5 A user class
05:57
73
4.5 Conclusion
02:33
74
5. Filling in the layout
00:35
75
5.1 Adding some structure
01:58
76
5.1.1 Site navigation
18:10
77
5.1.2 Bootstrap and custom CSS
09:13
78
5.1.3 Partials
09:29
79
5.2 Sass and the asset pipeline
00:11
80
5.2.1 The asset pipeline
02:24
81
5.2.2 Syntactically awesome stylesheets
08:59
82
5.3 Layout links
00:36
83
5.3.1 Contact page
03:11
84
5.3.2 Rails routes
04:04
85
5.3.3 Using named routes
01:26
86
5.3.4 Layout link tests
07:50
87
5.4 User signup: A first step
00:10
88
5.4.1 Users controller
01:31
89
5.4.2 Signup URL
01:51
90
5.5 Conclusion
01:51
91
6. Modeling users
02:16
92
6.1 User model
01:05
93
6.1.1 Database migrations
10:02
94
6.1.2 The model file
00:37
95
6.1.3 Creating user objects
07:00
96
6.1.4 Finding user objects
04:20
97
6.1.5 Updating user objects
04:54
98
6.2 User validations
01:35
99
6.2.1 A validity test
03:11
100
6.2.2 Validating presence
05:37
101
6.2.3 Length validation
03:42
102
6.2.4 Format validation
16:28
103
6.2.5 Uniqueness validation
14:47
104
6.3 Adding a secure password
00:24
105
6.3.1 A hashed password
02:53
106
6.3.2 User has secure password
01:30
107
6.3.3 Minimum password standards
02:49
108
6.3.4 Creating and authenticating a user
06:41
109
6.4 Conclusion
04:56
110
7. Sign up
00:36
111
7.1 Showing users
01:12
112
7.1.1 Debug and Rails environments
06:34
113
7.1.2 A Users resource
06:36
114
7.1.3 Debugger
03:40
115
7.1.4 A Gravatar image and a sidebar
16:48
116
7.2 Signup form
01:27
117
7.2.1 Using formwith
08:54
118
7.2.2 Signup form HTML
03:21
119
7.3 Unsuccessful signups
00:55
120
7.3.1 A working form
03:51
121
7.3.2 Strong parameters
06:52
122
7.3.3 Signup error messages
11:56
123
7.3.4 A test for invalid submission
09:22
124
7.4 Successful signups
00:36
125
7.4.1 The finished signup form
03:59
126
7.4.2 The flash
05:34
127
7.4.3 The first signup
04:34
128
7.4.4 A test for valid submission
03:50
129
7.5 Professional-grade deployment
01:13
130
7.5.1 SSL in production
01:28
131
7.5.2 Production webserver
03:19
132
7.5.4 Production deployment
01:43
133
7.6 Conclusion
00:30
134
8. Basic login
00:52
135
8.1 Sessions
01:48
136
8.1.1 Sessions controller
00:48
137
8.1.2 Login form
09:24
138
8.1.3 Finding and authenticating a user
05:37
139
8.1.4 Rendering with a flash message
02:05
140
8.1.5 A flash test
04:44
141
8.2 Logging in
01:32
142
8.2.1 The login method
04:48
143
8.2.2 Current user
04:05
144
8.2.3 Changing the layout links
09:07
145
8.2.4 Testing layout changes
10:20
146
8.2.5 Login upon signup
03:00
147
8.3 Logging out
05:57
148
8.4 Conclusion
01:47
149
9. Advanced login
00:43
150
9.1 Remember me
00:39
151
9.1.1 Remember token and digest
11:38
152
9.1.2 Login with remembering
13:31
153
9.1.3 Forgetting users
03:01
154
9.1.4 Two subtle bugs
07:08
155
9.2 “Remember me” checkbox
07:03
156
9.3 Remember tests
01:25
157
9.3.1 Testing the “remember me” box
07:32
158
9.3.2 Testing the remember branch
08:26
159
9.4 Conclusion
04:46
160
10. Updating, showing, and deleting users
00:43
161
10.1 Updating users
01:45
162
10.1.1 Edit form
08:54
163
10.1.2 Unsuccessful edits
02:08
164
10.1.3 Testing unsuccessful edits
04:02
165
10.1.4 Successful edits (with TDD)
09:14
166
10.2 Authorization
01:08
167
10.2.1 Requiring logged-in users
10:05
168
10.2.2 Requiring the right user
11:07
169
10.2.3 Friendly forwarding
10:31
170
10.3 Showing all users
00:34
171
10.3.1 Users index
07:30
172
10.3.2 Sample users
05:19
173
10.3.3 Pagination
05:29
174
10.3.4 Users index test
08:03
175
10.3.5 Partial refactoring
03:10
176
10.4 Deleting users
00:21
177
10.4.1 Administrative users
06:12
178
10.4.2 The destroy action
06:32
179
10.4.3 User destroy tests
09:28
180
10.5 Conclusion
04:08
181
11. Account activation
02:06
182
11.1 Account activations resource
00:40
183
11.1.1 Account activations controller
02:30
184
11.1.2 Account activation data model
09:57
185
11.2 Account activation emails
00:10
186
11.2.1 Mailer templates
09:16
187
11.2.2 Email previews
05:55
188
11.2.3 Email tests
06:30
189
11.2.4 Updating the Users create action
03:40
190
11.3 Activating the account
02:37
191
11.3.1 Generalizing the authenticated? method
06:55
192
11.3.2 Activation edit actions
06:43
193
11.3.3 Activation test and refactoring
12:58
194
11.4 Email in production
05:47
195
11.5 Conclusion
00:18
196
12. Password reset
02:01
197
12.1 Password resets resource
00:37
198
12.1.1 Password resets controller
03:34
199
12.1.2 New password resets
04:35
200
12.1.3 Password reset create action
08:07
201
12.2 Password reset emails
00:17
202
12.2.1 Password reset mailer and templates
04:46
203
12.2.2 Email tests
02:36
204
12.3 Resetting the password
00:23
205
12.3.1 Reset edit action
05:49
206
12.3.2 Updating the reset
15:05
207
12.3.3 Password reset test
23:22
208
12.4 Email in production (take two)
06:11
209
12.5 Conclusion
00:51
210
13. User microposts
00:33
211
13.1 A Micropost model
00:31
212
13.1.1 The basic model
03:41
213
13.1.2 Micropost validations
05:23
214
13.1.3 User/Micropost associations
03:40
215
13.1.4 Micropost refinements
09:16
216
13.2 Showing microposts
00:31
217
13.2.1 Rendering microposts
08:43
218
13.2.2 Sample microposts
04:31
219
13.2.3 Profile micropost tests
11:17
220
13.3 Manipulating microposts
00:47
221
13.3.1 Micropost access control
06:04
222
13.3.2 Creating microposts
15:50
223
13.3.3 A proto-feed
09:27
224
13.3.4 Destroying microposts
05:44
225
13.3.5 Micropost tests
12:15
226
13.4 Micropost images
00:24
227
13.4.1 Basic image upload
07:56
228
13.4.2 Image validation
07:15
229
13.4.3 Image resizing
04:07
230
13.4.4 Image upload in production
11:18
231
13.5 Conclusion
00:27
232
14. Following users
02:07
233
14.1 The Relationship model
01:38
234
14.1.1 A problem with the data model (and a solution)
06:23
235
14.1.2 User/relationship associations
04:36
236
14.1.3 Relationship validations
03:10
237
14.1.4 Followed users
09:49
238
14.1.5 Followers
03:40
239
14.2 A web interface for following users
00:34
240
14.2.1 Sample following data
02:37
241
14.2.2 Stats and a follow form
23:32
242
14.2.3 Following and followers pages
19:02
243
14.2.4 A working follow button the standard way
09:08
244
14.2.5 A working follow button with Ajax
14:14
245
14.2.6 Following tests
07:49
246
14.3 The status feed
00:33
247
14.3.1 Motivation and strategy
00:39
248
14.3.2 A first feed implementation
10:26
249
14.3.3 Subselects
08:02
250
14.4 Conclusion
00:41

Unlock unlimited learning

Get instant access to all 249 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Books

Read Book THE RUBY ON RAILS TUTORIAL, 6TH ED. (EBOOK + VIDEO)

#Title
1Book 1

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Build Airbnb with Ruby on Rails

Build Airbnb with Ruby on Rails

Sources: Code4Startup (coderealprojects)
This project is a series of 3 Projects (Pikachu, Kong, Godzilla) with 3 different levels (Level 1, 2, 3). We are going to build a platform like Booking or Airbnb. In this projec...
9 hours 53 minutes 50 seconds
Ruby on Rails 6

Ruby on Rails 6

Sources: pragmaticstudio
Learn Rails. It sounds straightforward, but often gets either cluttered-up or dumbed-down. Cluttering-up happens when topics other than Rails get shoved into a Rails course as a...
8 hours 18 minutes 17 seconds
Revisiting Rails

Revisiting Rails

Sources: bigmachine.io
Since 2017, I have used various JavaScript frameworks for my website bigmachine.io. But in March 2024, everything changed - I abandoned everything and...
4 hours 9 minutes 15 seconds
High Performance PostgreSQL for Rails

High Performance PostgreSQL for Rails

Sources: Andrew Atkinson
Build faster, more reliable Rails applications using advanced PostgreSQL and Active Record capabilities to solve...