Category: Ruby on Rails
Ruby on Rails is an advanced environment (framework) used for creating attractive and advanced internet applications (websites) in a quick, non-stressful way. As the tagline itself states Ruby on Rails provides a balance between productivity and pleasure which comes from programming and enables programmer to create a beautiful code prefering convention over configuration.
Rails allows us to create internet applications based on databases using MVC (Model-View-Controller) pattern. It gives possibility to effectively use Ajax available in Views, then effectively use queries and answers in controllers (Controller) and build advanced business logic in models (Model).
Three principles always emphasised by the Rails environment are:
- DRY (Don’t Repeat Yourself) – application code should be created in such way that one can use it many times; thanks to that one can avoid writting the same logic in different parts of a program
- Convention Over Configuration – the authors of the environment use many practical conventions and assumptions about applications, so that the programmer can avoid unnecessary and mundane (repetitive) configuration of his application and environment.
- Quick Implementation of Changes – integrated web server and interpreted language allow us to quickly observe changes made in code (no compilations and no need for restarts) which reduces the amount of time needed for developing applications. Emphasis on testing the code and using TDD techniques allow us to quickly update the application without the risk of errors or regressions.
- Introduction, basic applications, models
- Introduction and history of Rails (in a nutshell)
- Architecture of Model-View-Controller
- Project elements in Rails environment
- Project directory structure
- Naming conventions
- The idea of resource and REST conventions
- ActiveRecord and ORM (Object-Relational Mapping)
- Model associations (has_one, belongs_to, etc)
- Model validations
- Callbacks in models
- Using console while programming (Hirb-like extensions)
- View and controller layer, templates
- ActionController – controllers
- Cookies and managing a session
- Filters in controllers
- ActionView – views
- Layouts and partials, helpers (decorators)
- Template languages (ERB, Haml, Slim)
- Short introduction to Twitter Bootstrap and style templates
- Ajax (JQuery and RJS templates)
- Generators and rake
- Various application environments (production/development/test)
- Advanced technologies, the most popular gems
- Briefly about Less, Sass and CoffeeScript
- The security of WWW application
- Rails: best practices
- Recommended gems for repetitive tasks:
- Authentication (Devise)
- Authorisation (Cancan, Rolify)
- Background jobs (Sidekiq, Resque)
- Images and other attachments (Paperclip, Carrierwave)
- Raporting exceptions (Errbit)
- Testing (Guard, RSpec, Minitest)
- Useful gems for application development
- Rails application cache (caching)
Audience and prerequisites
We assume, that participant understands at least basic programming concepts (variables, loops, conditions, functions, objects). Familiarity with any programming language will help a lot. Prior Ruby knowledge is not required. Language itself will be introduced during the course.
It’s also recommended to have a good general understanding of concepts regarding creating websites. Below you will find the summary of requirements/recommendations for the initial knowledge and skills of training participants. Note, that familiarity with all the listed elements is not required, but the more you know, the easier the course will be to understand.
- knowledge of programming concepts and constructs
- basic knowledge of general concepts about creating WWW applications
- knowledge of HTML and/or CSS
- general understanding of HTTP protocol and topics like redirections, SSL, differences between GET and POST
- basic knowlegde of SQL and MySQL or Postgres database is recommended
Course participants receive completion certificates signed by ALX. Upon completing the course, participants will have the following skills/ knowledge:
- familirarity with Ruby programming language
- ability to build application with Ruby on Rails from the beginning
- managing RoR application’s database through migrations
- ability to create advanced application logic through ActiveRecord relations
- basics of building user interface based on Ajax
- searching and using external libraries (Gems) in Rails applications
- basic understanding of TDD techniques idea
- ability of routes configuration in Rails applications
- understanding some essential, good practices connected with creating websites with Rails
There are currently no entries
Enter your e-mail address and we will notify you about future dates
- London – UK: Asra House, 1 Long Lane, London SE1 4PG
- any other location (London, UK, EU) on request
Open training groups are no larger than 8 participants.
Private training can be conducted for groups of any size, according to the Customer's preference. To assure high quality and good learning environment, the group size should not exceed 12.
On-demand training costs and registration
The prices provided in the general tables cover the cost of an open (public) training for one person in London.
In case of on-demand training at Customer's premises, you provide the necessary facilities (room, computers, projector), we send a trainer to conduct the training, and the cost of a session is calculated for the whole group.
The cost does not vary significantly with the number of participants. There is no minimum number of participants. We recommend no more than 10-12 participants, as above this number, the training becomes much less effective.
The cost of an on-demand training consists of:
- the base training cost, plus
- trainer travel and accommodation charges.
The base price of on-demand training varies on case-by-case basis, but it is usually about the price of an open training for 3-5 persons (regardless of your group size).
The typical travel and accommodation charge for the EU/Schengen zone is under 1250 GBP (1500 EUR) for a 5 day session. We do our best to keep it as low as possible in your location.
The payment can be in GBP or EUR whichever you prefer. When we send you a quotation with the exact amount in your currency, that amount will be valid for 3 months, regardless of any changes in the exchange rate.
For more information, or to register a group, please contact us at firstname.lastname@example.org and tell us:
- the course(s) that you are interested in,
- your location,
- your preferred dates,
- the number of people you wish to train,
And any other questions that you may have.
We can also customize the training program of any of our trainings (or create a new one) according to your needs – whether you want to focus on particular solution used in your company, include material concerning a technology we do not usually cover, or create a tailor-made training.
For individual persons for whom all scheduled open training is inconvenient, we offer individual consultation. Virtually all of our training courses are available as such.
During individual consultations, while it can be a direct equivalent of a group training in terms of subject covered, we can also provide more than that – we can solve problems, help choose appropriate solutions and provide advice on the most effective use of chosen tools.
The price includes:
- course materials,
- snacks, coffee, tea and soft drinks,
- course completion certificate,
- one-time consultation with the instructor after course completion.
Discounts and allowances
- 7% - a discount for return customers
- applicable for all courses and training
- for any individual who already has participated in any of our courses or training and any employee of a company which previously delegated at least one employee to one of our courses or training
- 5% - for European Youth Card (EURO<26) card holders
- applicable for all courses and training
- 3% - for all students
- applicable for all courses and training
- 3% - allowance for early enrolment (does not apply to short courses)
- applicable for enrolments which occurred at least 30 days before the start of the course
- discounts apply only in case of upfront payment made at least 7 days before the start of the course and only in case of standard application form being sent or standard training contract being signed
- discounts, reductions and promotions cannot be combined
- discounts, reductions and promotions do not apply to:
- closed trainings and training on demand
- group offers
- participants delegated by third parties