THE RUBY ON RAILS TUTORIAL, 6TH ED. (EBOOK + VIDEO)
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!
More
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 unifyform_for
andform_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:
- Ebook: 883 pages of content (HTML/PDF/EPUB/MOBI) with everything you need to learn web development with Ruby on Rails
- Ebook + downloadable videos: 883 pages plus 20 hours of downloadable video showing the kind of tacit knowledge that’s hard to capture in text
- Online course: A structured, self-paced course with online book access, all streaming videos, progress tracking, exercise answers, and more
- 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 THE RUBY ON RAILS TUTORIAL, 6TH ED. (EBOOK + VIDEO)
# | Title | Duration |
---|---|---|
1 | 1. From zero to deploy | 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 |
Read Book THE RUBY ON RAILS TUTORIAL, 6TH ED. (EBOOK + VIDEO)
# | Title |
---|---|
1 | Book 1 |