Intermediate
75h
Creating Long-Lived Web Apps with Ruby on Rails
Gain insights into creating Rails apps by focusing on consistency and best practices. Discover techniques for managing business logic, testing, and improving code quality without complex patterns.
Ruby on Rails is a server-side web development framework. Are you an experienced Rails developer but struggle with managing the complexity your Rails apps acquire over time? You don’t need gems or complicated design patterns; you just need to focus on consistency, sustainability, and the best parts of Rails.
In this course, you’ll learn straightforward techniques to apply to each Rails part, from routes to views to controllers to Active Records. You’ll learn to put business logic in separate Ruby classes that you can manage outside of Active Record, plus how these classes fit into Rails. You’ll also learn testing techniques for reliable system tests and useful unit tests.
After taking this course, you’ll have a pragmatic list of techniques you can apply to any Rails project and a clear foundation for why these techniques work. You can write better Rails code and share the benefits with coworkers and colleagues.
Ruby on Rails is a server-side web development framework. Are you an experienced Rails developer but struggle with managing the ...Show More
WHAT YOU'LL LEARN
The ability to follow steps for creating a reliable and consistent database schema for Rails
Familiarity with managing code in each part of Rails: routes, controllers, views, Active Records, jobs, and more
Working knowledge of a pragmatic strategy that ensures quality without overtesting
Familiarity with techniques for managing business logic in a Rails app without complicated patterns or gems
An understanding of the core principles of sustainable web app development
The ability to follow steps for creating a reliable and consistent database schema for Rails
Show more
Content
1.
Prologue
1 Lessons
Get familiar with sustainable Ruby on Rails app development, best practices, and architecture.
2.
Getting Started
3 Lessons
Look at sustainable practices, assumptions, and cost management in Ruby on Rails development.
3.
The Rails Application Architecture
5 Lessons
Work your way through Rails architecture, views, models, pros and cons, and conventions.
4.
Start Our App Off Right
8 Lessons
Grasp the fundamentals of creating, configuring, running, and maintaining a Rails application.
5.
Business Logic
6 Lessons
Solve problems in managing business logic complexity to ensure sustainable, stable web apps.
6.
Routes and URLs
8 Lessons
Investigate routing best practices, avoid unused configurations, utilize nested routes, and maintain clear URL structures in Rails.
7.
HTML Templates
7 Lessons
Master the steps to create structured, maintainable Rails views using semantic HTML, instance variables, and ERB.
8.
Helpers
8 Lessons
Learn how to use helpers effectively for UI, view models, testing, and secure markup.
9.
CSS
7 Lessons
Unpack the core of effective CSS management strategies, frameworks, and design systems for Rails applications.
10.
Minimize JavaScript
5 Lessons
Break apart JavaScript's challenges and embrace server-rendered Rails views for simpler web apps.
11.
Carefully Manage the JavaScript We Need
3 Lessons
Grasp the fundamentals of JavaScript management, framework selection, and effective testing in Rails apps.
12.
Testing the View
9 Lessons
Dig into strategies for effective and maintainable view testing in Ruby on Rails.
13.
Models I
7 Lessons
Simplify database access and modeling with Active Record and class/instance methods.
14.
The Database
10 Lessons
Master the steps to plan and implement robust data models, migrations, and database constraints.
15.
Business Logic Code is a Seam
5 Lessons
Learn how to use stateless classes, explicit methods, rich result objects, and avoid certain patterns.
16.
Models II
6 Lessons
Unpack the core of validations, callbacks, model testing strategies, and using Factory Bot for reliable data.
17.
End-to-End Testing
13 Lessons
Master the steps to test end-to-end scenarios, build UI, and manage business logic.
18.
Controllers
6 Lessons
Grasp the fundamentals of optimizing controller configurations, managing callbacks, and strategic testing in Rails.
19.
Jobs
8 Lessons
Map out the steps for managing and optimizing background jobs in Ruby on Rails apps.
20.
Other Boundary Classes
6 Lessons
Investigate boundary classes like mailers, Rake tasks, Action Mailbox, Action Cable, and Active Storage.
21.
Authentication and Authorization beyond Rails
6 Lessons
Practice using Devise, OmniAuth, and CanCanCan for secure authentication and role-based access control.
22.
API Endpoints
11 Lessons
Learn how to use Rails for effective, secure, and maintainable REST API development.
23.
Sustainable Process and Workflows
9 Lessons
Walk through sustainable CI practices, dependency management, automation, and efficient configuration in Rails applications.
24.
Operations
9 Lessons
Work your way through enhancing observability, effective logging, performance measurement, and secure secret management in Ruby on Rails.
25.
Conclusion
1 Lessons
Grasp the fundamentals of effective code structuring and continuous learning in software development.
26.
Appendices
3 Lessons
Map out the steps for software versions, Docker setup, and architecture decisions.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:
Developed by MAANG Engineers
Trusted by 2.8 million developers working at companies
"These are high-quality courses. Trust me. I own around 10 and the price is worth it for the content quality. EducativeInc came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks"
Anthony Walker
@_webarchitect_
"Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!"
Evan Dunbar
ML Engineer
"You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it."
Software Developer
Carlos Matias La Borde
"I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site"
Souvik Kundu
Front-end Developer
"Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content."
Vinay Krishnaiah
Software Developer
Hands-on Learning Powered by AI
See how Educative uses AI to make your learning more immersive than ever before.
AI Prompt
Code Feedback
Explain with AI
AI Code Mentor
Free Resources