Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
Answers on Ruby on Rails

What is Ruby on Rails?

Ruby on Rails is a clever way of programming your web server in Ruby - it allows you to have data in databases on your website and provide very easy access tothat data through a browser, allowing your customers to see the data and you staff to see it, alter it, and add more data without having to be web experts.

That may sound like something that a very large number of people want (it is) and it might sound like it would be an easy thing to do (it isn't - or it hasn't been so in the past). There are lots of ways of doing it, but Ruby on Rails is one of the most efficient; there's a bit of a steep learning curve / a lot of terms and technology to get to grips with, but once you have done so you can update the way the web site works quickly, you can produce a web site that is clean and robust, and you can produce a web site that works very efficiently for your users - and that's vitally important because you want your public users to like using your site (and stay) and your staff to work it quickly (so they can do more work in less time!).

How does Ruby on Rails work?

It's a piece of software that runs on a web server, and instead of feeding a page of HTML (web content) back to you from a file, it runs a piece of program and returns the result of running that program. A very great deal of what it does is standard - after all, every database has rows of data that you want to select from and every web page that is computer generated has to have headers and footers and be protected against people who enter database instructions into a form instead of their name. But there are non-standard parts too, and in Rails they are written in the Ruby programming language - thus "Ruby on Rails".

Why is Ruby on Rails so good?

1. The "Framework" (posh words for built in structure) that Ruby on Rails uses divides the application down into three sections. They've the section that defines how the data is stored (the model), the section that defines what the data looks like when you see it on the browser (the view) and the bit that does the calculations (the controller). You can have one controller for lots of views, you can change your views if you want to change how your page looks without having to change your controller, and all the time the database - the model - which holds all your data and who's integrity is important - is looked after quite separately / in a different compartment.

2. There are a lot of standard functions ("helpers") built in to Ruby on Rails so that all the standard stuff has been written already - no need for your company to spend time and money on producing something that's already there.

3. Ruby on Rails includes a template system which means that pages produced in your application(s) will all have a very similar look and feel - and that will happen AUTOMATICALLY. User much prefer a consistent look, and a consistent look means consisten reliability too [[and on the other hand, if something gets broken it will be broken everywhere so someone will fix it - a single fix - very quickly indeed!]]

4. Ruby - the underlying and tailoring language - is a darned good modern language. It's the same language that's used embedded within web pages in the viewers (.erb files or eruby, very much like PHP) and within the controller and model sections (classes) too - where it's in a much more conventional programming setting. And it works well in both places.

5. What are called "agile" techniques are used for testing, reseeding and restarting the database and applications rapidly, time and again, during testing. Once again, you're talking about the speed of testing - and the quicker and easier that testing is, the more testing will be done.

6. Ruby is designed for easy movement between databases. For testing, and perhaps is small production environments, SQLite works very well. It uses few resource, requires very little admin work, and is built in to the server. Where your application is bigger or on a production machine, you can switch to MySQL or perhaps PostGREsql.

What does Ruby on Rails cost?

Ruby on Rails is free at the point of distribution - you can download it, install it, and use it as part of your business without paying a penny to the team of people who wrote it or who retain the copyright - and you are totally legal in doing that.

But I'm not going to pretent that it costs nothing to use Ruby on Rails. If you're going to run it on your server, then you'll need to purchase that server, or space on a shared machine. And you'll pay (perhaps as a part of the package) for your bandwidth / traffic too. A WSP (Web Service Provider) who has Ruby on Rails on his system will charge more than one who just allows flat pages, as his support costs will be higher - his staff will spend longer on the phone / answering emails, and they'll also be spending time ensuring that the computers are secure and not allowing themselves to be used for scams, spams, or spreading viruses.

There's also the cost of developing Rails applications. That can be substantial - but you'll typically find that the lifetime cost of tweaking, updating and fixing issues that arise is in total even higher, and the cost while the system is running of entering, updating and maintaining the data is even higher that the two other amounts added together. But that's the same story that you'll find for any web based application in any language ... and you'll find those "total cost of ownership" figures lower for Ruby on Rails than for most alternative systems.

How can I learn Ruby on Rails?

Some people work well with books, with the documentation supplied with the software, with online tutorials or examples. For others, especially if they're looking to become productive quickly with clean code that won't need rewriting, can benefit from a training course. We can help there - [Ruby on Rails Training Course]

One of the most frustrating things once you have learned to program / learned a new language is that you'll get questions or software bugs that you're sure are easy to solve, but on which you can waste hours or even days. We have a forum available to help past delegates (and you're welcome to ask a Ruby question even if you've only been on a Perl course!) and many more email me ... or even pop by to see us. Of course, we don't hold a monopoly on this - lots of people may be able to help you, and it's wonderful just how much you can find by doing a few searched online.

In summary - Ruby on Rails is a sensible way to put many (but not all) database applications online, and we would be more than happy to train you - see [here] for details of our public courses. If you're in no hurry and you've plenty of your own time to invest, you may enjoy learning on your own - and at times learning the hard way from manking mistakes. If you're on a short lead time, or are like me and always want to do more things than you really have time for, book onto one of our "get you going quick" courses.


P.S. The world of Ruby on Rails is developing its own language ... here are some we can sort out for you ... Ror - Git - Sinatra - Phusion Passenger - Scaffold - Gems - Rake - Agile - Ajax - RESTful.
(written 2010-01-30, updated 2010-01-31)

Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
R202 - Ruby on Rails
  [1050] The HTML++ Metalanguage - (2007-01-22)
  [1302] Ruby, Ruby, Ruby. Rails, Rails, Rails. - (2007-08-13)
  [1375] Python v Ruby - (2007-10-02)
  [1745] Moodle, Drupal, Django (and Rails) - (2008-08-08)
  [2605] Ruby on Rails - a sample application to teach you how - (2010-01-30)
  [2609] Scope of variables - important to Ruby on Rails - (2010-01-31)
  [3624] Why do we need a Model, View, Controller architecture? - (2012-02-25)
  [3756] Ruby on Rails - how it flows, and where the files go - (2012-06-08)
  [3772] Hello World - Ruby on Rails - a checklist of each step - (2012-06-22)
  [3777] Multiple views in a single appication - sharing common parts of the template - Ruby on Rails - (2012-06-23)
  [3778] Providing a form to allow the user to add data to the model - Ruby on Rails - (2012-06-23)
  [3779] Adding validation to form entries and sticky fields - Ruby on Rails - (2012-06-23)
  [3780] Ruby of Rails - cleanly displaying model data in the view - (2012-06-23)
  [3919] What is a web framework? - (2012-11-10)
  [4010] Really Simple Rails - (2013-02-17)
  [4013] Web Frameworks - nested templates - (2013-02-22)

R114 - Ruby on the Web
  [1891] Ruby to access web services - (2008-11-16)
  [3431] Ruby at both extremes of your website - (2011-09-10)
  [3432] 3 digit HTTP status codes - what are they, which are most common, which should be a concern? - (2011-09-11)
  [3623] Some TestWise examples - helping use Ruby code to check your web site operation - (2012-02-24)
  [3773] Ruby on the web - a simple example using CGI - (2012-06-22)
  [4003] Web and console - same principle, same code - Ruby example - (2013-02-14)
  [4502] Reading and parsing a JSON object in Ruby - (2015-06-01)

R101 - Ruby - Introduction
  [550] 2006 - Making business a pleasure - (2006-01-01)
  [664] Ruby course - oops - it's not happening - (2006-04-01)
  [1027] Cue the music, I'm happy. - (2007-01-09)
  [1041] Learnt in London - Ruby, Martini, Coral and the Core - (2007-01-17)
  [1887] Ruby Programming Course - Saturday and Sunday - (2008-11-16)
  [2286] New to programming? It is natural (but needless) for you to be nervous - (2009-07-14)
  [2287] Learning to program in Ruby - examples of the programming basics - (2009-07-15)
  [4369] Ruby - the second rung of learning the language - (2014-12-28)
  [4498] Ruby - where one statement ends and the next begins - (2015-05-26)

Q777 - Object Orientation and General technical topics - Technology Overviews
  [1513] Perl, PHP or Python? No - Perl AND PHP AND Python! - (2008-01-20)
  [1976] Where is this IP address, IPv4 and IPv6 - (2009-01-04)
  [2971] Should the public sector compete with businesses? and other deep questions - (2010-09-26)

Back to
Sorting arrays and hashes in Ruby
Previous and next
Horse's mouth home
Forward to
Search and replace in Ruby - Ruby Regular Expressions
Some other Articles
Sunday Evening, City of London
Cheat Sheet - what do you need for Ruby on Rails?
Search and replace in Ruby - Ruby Regular Expressions
Answers on Ruby on Rails
Sorting arrays and hashes in Ruby
Tips for writing a test program (Ruby / Python / Java)
Ruby objects - a primer
East of Melksham - Building Work Starts
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page

This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2022: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/2607_Ans ... Rails.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb