Introduction to Ruby on Rails

For a limited time, save 25% on this course

* This offer expires October 6, 2014 at 11:59pm PT and cannot be combined with any other discounts.

Rails is a framework which runs on the Ruby programming language and is used to rapidly create web applications. Many startups use Rails because they can rapidly create a full application from scratch. Not only is Rails a great way to save hours of coding time, it’s also a great way to learn advanced web development. When you learn Rails, you’ll learn the tips and techniques that professional programmers use to create real world web applications.

Upon completion of this course, you will be able to:

  • Use code generation to get your application up-and-running in minutes rather than hours
  • Model complex business data with database relationships
  • Add login security to your application
  • Manage your web interface efficiently with partial templates and layouts
  • Add search to your application with database finders

You will learn how to build a secure multi-user task management application and create your own photo-posting web site. All you need is a browser and an Internet connection; everything else is provided by the O’Reilly School of Technology.

Prerequisites: Introduction to HTML and CSS, or equivalent skills.

90 Clock-hours

 $448.00   $336.00 (plus fees)

Enroll in Course

Course Details and Syllabus

Course: Introduction to Ruby on Rails
Tuition:  $448.00   $336.00 (plus fees)
Time Frame: This course is online and self-paced. You can expect to work approximately 90 hours on this course.
Technical Requirements: As long as you have a web browser and internet connection, you can take this course from anywhere in the world.
Software: The web-based Learning Sandbox® provided for you will contain all your lessons, projects, quizzes, account files, editors, and compiling tools necessary to build your skills from beginning to end, even beyond coursework. No other software is needed.
Instructor: You will have one instructor throughout the course who will evaluate your projects and quizzes, hand them back for improvement when necessary, and coach you throughout your skills advancement.
Book: All required course materials and software are included online within the Learning Sandbox®. However, within a few weeks of enrolling, you’ll receive the e-book Learning Rails 3 as a reference resource from O’Reilly. rails
Certificates: This course is not included in a Certificate series at this time.
Prerequisites: Introduction to HTML and CSS, or equivalent skills. Experience using a web browser and email. This course is meant for the beginning or intermediate student.
Topics: Ruby Language, Database Application, Scaffolding, Helper Functions, Field Validation, Custom Database Queries, Layouts, Partials and Managing Users.
Syllabus:
  • Lesson 1: Introduction
    • The CodeRunner Screen
    • Introduction to Rails
    • Your First Program
    • Restart the Web Server
    • Viewing Your Rails Application
    • What Just Happened?
    • Editing Your First Page
    • The Ruby Language
    • Adding Ruby Content to a Web Page
  • Lesson 2: Your First Database Application
    • Creating Applications that Store Data
    • What Will the Code Need to Do?
    • Generated CRUD Code is Called “Scaffolding”
    • Step 1: Generate the Scaffolded Code
    • Step 2: Create Storage for the Task Data
  • Lesson 3: Modifying a Database Application
    • Modifying the Scaffolding
    • You Need to Edit show.html.erb
    • Helper Functions
    • Functions That take Multiple Arguments
    • Functions With Options
  • Lesson 4: Adding Field Validation
    • Sometimes You Need Rules
    • Making Fields Mandatory
    • Making More Than One Field Mandatory
    • Unique Task Names
    • Checking Numbers
  • Lesson 5: Adding Custom Ruby Code
    • Making Your App Smarter With Ruby
    • Writing Custom Validation
    • A Little More Ruby
    • Validate Every Time?
    • Hide Time Remaining?
  • Lesson 6: Custom Database Queries
    • Asking New Questions
    • Under the Covers: How Rails Displays a Task
    • The ActiveRecord Library Talks to the Database
    • How to Read All the Tasks
    • Searching for Data
    • Finding All Matches
    • Sorting Results
  • Lesson 7: Adding Custom Data Pages
    • Putting Data on the Page
    • Introducing the Controller
    • How to List Only Incomplete Tasks
    • How Do You See the Complete Tasks?
    • Routes Define a Path through the App
    • Creating a Route
    • Create the Template File
  • Lesson 8: Layouts
    • The Look and the Links
    • Adding the Link to the Other Pages
    • Change the Page Layouts with application.html.erb
    • Creating Separates for Different Page Groups
  • Lesson 9: Partials
    • Sharing Page Fragments with Partials
    • Creating Your First Partial
    • Removing More Duplication
    • Why Sharing Code is a Good Thing
    • How Do We Display the Overdue Tasks?
    • Why Do Local Variables Help?
  • Lesson 10: Logging In
    • Adding Security to the Incomplete Tasks Page
    • How Basic Authentication Works
    • Securing the Other Task Pages
  • Lesson 11: Managing Users
    • Managing Multiple Users
    • Authenticating Against the Database
    • Displaying the Current User in the Application
  • Lesson 12: Associating Data with Users
    • Giving Users Their Own Tasks
    • Database Relationships
    • Add the user id with a Migration
    • Joining Tables Together
    • Setting the user id of a Task
    • Finding a Task’s User
  • Lesson 13: Creating Tasks for a User
    • Recording Who Created a Task
    • Finding All the User’s Tasks
    • has many is the Reverse of belongs to
    • The Collection of Tasks Has its Own Finders
  • Lesson 14: Creating a Search Feature
    • Forms: Adding a Search
    • Passing Data to the Application
    • Adding a Form
    • Absolute vs. Relative Paths
    • Using a Form Helper Function
  • Lesson 15: Adding Fields
    • Adding Fields to Your Application
    • Add the Field to the Database
    • Add the Field to the View
    • Adding the Priority to the Show Task Page
    • Validating the Priority Attribute