Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
Python and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for 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.

Keywords

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

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

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

R202 - Ruby on Rails
  [4013] Web Frameworks - nested templates - (2013-02-22)
  [4010] Really Simple Rails - (2013-02-17)
  [3919] What is a web framework? - (2012-11-10)
  [3780] Ruby of Rails - cleanly displaying model data in the view - (2012-06-23)
  [3779] Adding validation to form entries and sticky fields - 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)
  [3777] Multiple views in a single appication - sharing common parts of the template - Ruby on Rails - (2012-06-23)
  [3772] Hello World - Ruby on Rails - a checklist of each step - (2012-06-22)
  [3756] Ruby on Rails - how it flows, and where the files go - (2012-06-08)
  [3624] Why do we need a Model, View, Controller architecture? - (2012-02-25)
  [2609] Scope of variables - important to Ruby on Rails - (2010-01-31)
  [1745] Moodle, Drupal, Django (and Rails) - (2008-08-08)
  [1050] The HTML++ Metalanguage - (2007-01-22)


Back to
Sorting arrays and hashes in Ruby
Previous and next
or
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., 2019: 404 The Spa • Melksham, Wiltshire • United Kingdom • SN12 6QL
PH: 01225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/2607_Ans ... Rails.html • PAGE BUILT: Sat May 27 16:49:10 2017 • BUILD SYSTEM: WomanWithCat