Ruby on Rails - 3 day course
Can't see a suitable date or location?
Click here to register your interest in this course and we will
keep you informed when any new dates are added.
Synopsis
This course introduces delegates to the Ruby On Rails web development framework which has taken the web development world by storm.
Delegates will learn how to develop code which is elegant and maintainable. You will delve into the Ruby On Rails framework and its powerful prototyping and development workflow. Ruby On Rails abstracts many of the tiresome chores which are common to web projects allowing us to focus on the unique and challenging aspects of the code.
We will use live coding sessions, participatory discussion and practical examples to collectively explore the Ruby On Rails web framework.
This course is delivered in conjunction with Interkonect - leading Ruby On Rails practitioners who develop software that enables people and teams to get work done by providing tailored Business Websites and Software.
Duration
3 days
Cost
£895
Prerequisites
Students are expected to have a working knowledge of Ruby. Those who do not are recommended to the take Ruby programming course prior to this.
This course covers both Rails 2 and the new features introduced in the forthcoming Rails 3.
special offer!
Book both this course and the Ruby Programming course and receive 10% off both!
Detailed course contents
= Ruby On Rails (Foundations)=
Software & Tools
- Installing Rails and dependancies
- IDE or Text Editor?
- Useful Tools and Software
Introduction
- Rails Code Generators
- Directory Structure Tour
- A Demonstration Of Rapid Prototyping
- The Benefits of Model-View-Controller (MVC)
- The HTTP Request/Response Cycle
- Convention over Configuration
- The Environments and their defaults
ActiveRecord
- Introduction
- Migrations
- CRUD (Create Read Update Delete)
- Finders
- Validations
- Callbacks
- Associations
ActionController
- What is REST?
- Routing URL’s to Code
- RESTful Routes
- Params, Session and Flash
- Filters
- Rendering Views
ActionView
ActionMailer
- Sending Email
- Moving to a Background Process?
Plugins Spotlight
- acts_as_tree
- acts_as_list
- Pagination
- Chronic
- RedCloth
= Ruby On Rails In Practice (Intermediate)=
Security
- Cross Domain Scripting
- The Authenticity Token
- Log Filtering
- SQL Injection
- Sanatizing User Input
- Authertication & Autherisation
- Authenticating Users
- Role Based Autherisation
- Session Hijacking
- Encryption & Hashing
- Implementing the Authlogic Plugin
ActiveRecord
- Fat Models, Skinny Controllers
- Named Scopes
- Delegation
- Serialisation
- Advanced Associations
- Moving code in to Observers
- Uploading Files and Generating Thumbnails
- Keeping DRY & Best Practices
ActionController
- Exposing an XML API
- AJAX and Web 2.0
- Advanced Routing
- Sending Dynamically Generated Files
- SEO friendly URL’s and Permalinks
ActionView
- Incorporating Themes
- Adding a WYSIWYG editor
Examining Useful Plugins
- XML/HTML Parsers
- Site Search
- Taking Payments with ActiveMerchant
- Generating PDF’s with Prawn
- Storing Application Settings
- Pulling Google Analytics
- State Machines
- Consuming Web Services
= Ruby On Rails (Advanced)=
Deployment
- A Quick History
- The Mongrel, Thin and Apache Options
- Version Control
- Automated Deployments for Production and Staging
- Monitoring Processes
- Exception Email Notifications
Debugging & Refactoring
- When to write tests?
- Testing each MVC layer
- Automating Tests
- Breakpoints and ruby-debug
- Detecting N+1 Queries with Bullet
- Detecting code smells with Metrics
- DRY code with Metaprogramming
Modularisation
- Extracting Code for Reuse
- Writing Libraries, Plugins and Gems
- Publishing your code
- Engines and Embedded Applications
- Rack Middleware
Alternatives to the Default Stack
- How Rails 3 opens up the door...
- Using Schemaless Databases such as CouchDB and Mongo
- Mailing with Pony
- Templating with Liquid, XMLBuilder, HAML and MasterView
- ORM such as DataMapper and Sequal
Can't see a suitable date or location?
Click here to register your interest in this course and we will
keep you informed when any new dates are added.