Rails 101

Rails

Rails

Rails - Rails 101

Rails course


Basic Rails

Introduction to Rails

Watch the following video course as an Introduction to Ruby on Rails. It will give you a brief summary about Ruby on Rails, so you can get started into the Rails world.

Rails for Zombies

Complete the whole course “Rails for Zombies” on CodeSchool.

Remember that this course assumes:

  • You already have a good background on Ruby.
  • You have, both, Ruby and Ruby on Rails installed on your system. So make sure you’ve completed Introduction to Rails
Learn Rails by Example

Complete Learn Rails by Example, chapters 1 (From zero to deploy) to 7 (Sign up).

Make sure to upload your project to your github account and keep your story in milton updated.


Rails ORM Options

Rails ORM Reading

Testing

Learn about testing in Rails

Ruby has a number of testing frameworks. You can see a complete list here

The two most common we interact with are RSpec and Cucumber. The goal of this section to make sure you are familiar enough with RSpec and Cucumber to handle TDD and BDD in ruby.

Tasks:

  • Complete the RSpec at Code School
  • Learn about Mocks in RSpec - Read Chapter 14 of the RSpec book.
  • Learn Cucumber - Complete Chapters 17 and 18 of the RSpec book
  • Learn how to Apply RSpec and Cucumber to Rails
    • Complete Chapters 19-25 of the RSpec book.
    • Read chapter 8.3 in the Learning Rails by Example Book
    • Create Cucumber tests for all the sign up scenarios in the application completed in the previous section and check in your code.
  • Read Mocks with RR
  • Martin Fowler about Mocks and Stubs

Rails Practice

Rails Practice Application

Create an application that has the following characteristics:

  • There is the concept of a user who can
    • create an account
    • log in with that account
    • delete their account
  • Consume at least one third party data source provide search capabilities over it based on user input
    • Twitter, facebook, google stocks, newsfeed, etc
  • Allow users to perform CRUD on at least one custom data object
  • Some part of the UI must update in real time
  • It must have a full suite of cucumber tests

Please get approval for you project idea before you start coding.


Other frameworks

Understanding Rack
Sinatra Reading
  • Sinatra - Sinatra is a DSL for creating web apps (built on Rack) in Ruby with minimal effort.
Sinatra Exercises

Complete one of the following activities:

Activity 1

or

Activity 2