Open menu

Web Development

MySQL with RUBY and RAILS

Audience

Developers who wish to utilize RUBY, RAILS, and the SQL language to develop internet front-end interfaces to relational database back-end objects.

Prerequisites

Experience with at least one other application development language is necessary. Prior exposure to object-oriented principles is desirable. Prior experience with SQL and some RDBMS is also desirable.

Duration

5 days.

Course Objectives

This course provides a comprehensive study of building internet-based relational database applications with the SQL and RUBY languages and the MySQL database product. The class includes coverage of the SQL language and some administrative advice about the MySQL product. The class includes lecture, discussion, and practical and progressive "hands-on" workshops. It also studies the RAILS application development, testing, and deployment environment for the creation of internet applications which view and update relational database data.

At the end of this course, delegates will have a clear understanding of how to use the SQL and RUBY languages and will come away with knowledge and experience of using SQL and RUBY in the RAILS environment, in order to agilely and rapidly implement and test both simple and moderately complex applications.

Course Content

Introduction to the Rails Environment

  • Characteristics of "agile" development
  • Installing RUBY and RAILS under your operating system
  • Back-end relational database support
  • The RAILS application and philosophy
  • Overview of MVC: the Model-View-Controller framework
  • Starting and running a sample application
  • Using digg
  • Testing and debugging applications
  • MySQL tools in Rail

The Ruby Language

  • Review of Object-Oriented Design Methodology
  • Objects, variables, classes, methods, instantiation, scope, encapsulation, and inheritance – implemented as Ruby conventions
  • RUBY commands and IRB – Interactive Ruby
  • Core (built-in) Ruby classes and modules
  • Collections, arrays, hashes, strings, numbers, and constants
  • Operators and Iterators
  • Conditional logic (If, Case, Unless, While, For, Until, Break, Redo, Next, Retry, etc)
  • Working with Blocks
  • Creating and calling Methods
  • Exception classes and error handling

The MySQL Relational Database Environment

  • Using the MySQL client program
  • Starting and stopping MySQL
  • Connecting and disconnecting from MySQL
  • Specifying connection parameters with Option Files
  • Setting up MySQL user accounts
  • Obtaining and using metadata
  • Importing and exporting data
  • Designing transactions in Ruby programs
  • MySQL-based session management techniques
  • Working with the CGI::Session class

The SQL Language

  • Coding SELECT, INSERT, UPDATE, and DELETE statements
  • Using aggregate and scalar functions
  • Error handling options
  • Cursor management
  • Event-driven capabilities in SQL
  • Transaction management issues

Database Management and ActiveRecord

  • ActiveRecord models and Ruby classes
  • MySQL database object creation commands
  • Rails-friendly SQL code
  • Data integrity in the relational database model
  • Validates_method
  • Automatic and custom migrations

ActionController and ActionView

  • Understanding controllers and views and how they interact
  • Rendering commands
  • RHTML templating
  • Master and partial templates
  • Erb: Embedded Ruby
  • Layouts and the user interface
  • Working with Forms under Rails: form helper methods and ActionPack
  • RJS templates and AJAX
  • Scaffolding in Rails

Project Automation and Rails Plugins

  • Review of available plugins
  • Plugin repositories

Debugging, Testing, and Production Deployment

  • The Ruby test framework
  • Session management
  • User authentication and login
  • Fixtures
  • Unit testing
  • Integration testing
  • Your production environment
  • Capistrano

Verhoef Training Ltd.

11 Kingsmead Square
Bath, BA1 2AB
United Kingdom

Tel: +44(0)1225 339705

Email: info@verhoef-training.co.uk

Become a Trainer

Ever thought about using your skills to help others?

Call us to find out about how you can teach for Verhoef.

Tel: +44(0)1225 339705