Ruby on Rails: A Programmer’s Best Friend

Fueled by some significant benefits and an impressive portfolio of real-world applications, the “Ruby on Rails” web application framework has marked a tremendous head of steam over the last few years. After going through deep studies, through analysis we come to the conclusion that Interpreted Programming Language Web Applications are done either through Rails or as a straight CGI application. Also, every part of the Ruby on Rails system is dependent on proper and correct working of Ruby language.

Looking the advantage of Ruby on Rails framework in web application, Rails is destined to continue making significant inroads in the web development field.

In this post, we are going to provide the detail overview of Ruby on Rails framework such as what Rails can do with some ultimate collection of tutorials. We will kick-start with the advantages of Ruby on Rails that empowers the web application. There will never be a better time for you to climb aboard and learn Ruby on Rails. Let us start with a glance over what is Rails and what Ruby actually meant for?

What is Ruby?

Ruby is a pure object-oriented programming language which combines Smalltalk’s conceptual elegance, Python’s ease of use and learning, and Perl’s pragmatism. It is accompanied with a super clean syntax that makes programming elegant and fun. Developers prefer to use Ruby language as they find many things that are very simple to do in Ruby and are not even possible in most other languages. Programmers have to write fewer lines of code to implement their application. When the code will be smaller, the development will proceed faster and there will be a possibility of and fewer bugs. All these in turn make the code easier to understand, maintain, and enhance.

What is Rails?

Rails are an open source Ruby framework for developing database-backed web applications. One can develop a web application at least ten times faster with Rails than with a typical Java framework. Rails application uses a few simple programming conventions that allow it to figure out everything through reflection and discovery. Mac OS X is considered as the favored platform for Rails development and the popular text editor used by many Rails programmers is “TextMate”.

Summarizing the overall fact, we can say that “Ruby on Rails” is a web application framework which is written in the ruby programming language and uses the model-view-controller architecture. It is aimed towards the rapid development and deployment of Dynamic Web 2.0 Applications and provides a way of quickly prototyping web applications that interfaces to a database and then supports the development of the application to greater levels of sophistication. In simple words we can say that Ruby on Rails is open source tool which was first of all released in July 2004 and facilitates the developers with the advantage of rapidly creating great web applications backed by SQL databases to keep up with the speed of the web.

Let us make you entire concepts clear by giving a suitable example. Let us understand the overall concepts by building an “online expense tracking application”. Let’s create a skeleton directory structure and a set of files for our expenses application given as under:

$ rails expenses

Now open the new project directory with TextMate as below:

$ mate expenses

Now, in the In the TextMate Project Drawer, as shown below in the Figure, you will see the directory structure that the rails command created.
DirectoryStructure

Now, start the web server by typing

$ Script/server

Now point your web browser at http://localhost:3000. You will see a web page welcoming you aboard Rails. That means that the application is running. But this time just we have checked the application whether it is running or not. It will not fulfill the goal of our fund-raising campaign right now. Now to precede it, we have to set up database that track expenditures for accounts.

Development:
Adapter: mysql
Database: expenses_development
Username: root
Password:
Socket: /tmp/mysql.sock

Now, by default, Rails assumes that we’re using the MySQL database server with a database called expenses_development. Ruby on Rails support various database servers including MySQL, PostgreSQL, SQLite, SQL Server, DB2, Firebird, and Oracle and hence developers have freedom to choose database of his own choice. Now, Now we need to actually create the expenses_development database. Using mysqladmin command-line tool, it can be done as follows:

$ Mysqladmin -u root -p create expenses_development

Still, we’ve created the database, but it doesn’t have any tables yet. We need to store accounts in an accounts table, so let’s start using a Rails migration to create the accounts table. Migrations are database-agnostic representations of database schemas, which mean we can easily switch to another database server later, if necessary.

First of all, we have to create the migration using the Rails migration generator as below:

$ script/generate migration accounts

The above command creates a db/migrate/001_accounts.rb file that defines an empty migration. Now, we need to fill it with two columns: a name that identifies the account (a text string) and a budget. Let us do it as:

Class Accounts < ActiveRecord::Migration
Def self.up
Create_table: accounts do |table|
table.column: name, :string
table.column: budget, :float
End
End

Def self.down
drop_table :accounts
End
End

The above file defines a class with two class-level methods—up and down. The up method moves the migration forward by creating the accounts table and its columns; the down method rolls the migration backward by dropping the accounts table.

Now let’s apply the migration. We’ll use Rake (Ruby’s equivalent of Make) to run a task that’s available in every Rails application. For this type:

$ Rake migrate

Now we have both a database and a schema for storing accounts, but we need to start creating accounts. One of the ways to perform this is to use what Rails calls scaffolding. Scaffolding is the initial support for building an application—models, controllers, and views that handle the basic CRUD (create/read/update/delete) operations of any database-backed web application. Generate the scaffolding by typing

$ script/generate scaffold account expenses

That above command generates a number of files for us; we don’t have to create manually. The first parameter (account) specifies the name of the model, which is generated in the app/models/account.rb file. The second parameter (expenses) specifies the name of the controller, which is generated in the app/controllers/expenses_controller.rb file.

Let’s see how close scaffolding gets us to a web interface for managing accounts. Restart the application by typing

$ Script/server

Then point your web browser at http://localhost:3000/expenses. You will see the web page that lets you create new accounts. To create the account click on “Create” button, and the new account will show up in the account listing. From there you can show, edit, or delete the account as shown below:
ListingAccounts

Now, how the overall code does work, it will become clear by the configuration in the below given figure:

MVC

The above example has made it clear that how simply and elegantly a developer can develop an application using Ruby on Rails. Ruby on Rails is really a highly-productive and industrial-strength web application framework which has the made the task of developer much easier.

Top Most “Ruby on Rails” Tutorials

We are presenting here excellent Ruby on Rails tutorials which you can find extremely valuable for you. Walk through the tutorials given below:

Getting Started with Ruby on Rails

This tutorial will cover the entire concepts of Ruby on Rails. Going through this tutorial, you will be able to learn about Installing Rails, creating a new Rails application, and connecting your application to a database. You will also be able to expand your knowledge regarding the general layout of a Rails application, the basic principles of MVC (Model, View Controller) and RESTful design, and how to quickly generate the starting pieces of a Rails application.

source

Ruby on Rails Tutorial: Let’s start

This tutorial will teach you about the Development environments, Installation and setup, Ruby, Ruby Gems, Rails, and Git, deployment and much more. This tutorial will also provide an overview of a demo application in Ruby on Rails.
source

Programming Ruby

This tutorial will totally based upon the Ruby programming language and will serve as a boon for all the Pragmatic Programmers who are fan of ruby language. The programmers, who want to write better code, be more productive, and enjoy programming more, will be inspired with this tutorial.
source

Distributing Rails Applications

Going through this tutorial you will be able to know how to setup the environment, create the SQLite database, develop the Rails application, create the RBA (= Ruby archive) from the application with Tar2RubyScript, create the standalone executable with RubyScript2Exe etc.
source

Rolling with ruby on rails

This tutorial will let you to gain complete expertise on Ruby on Rails. It will explain you what is ruby, what is Rails, how to install ruby, compatibility of Ruby with Database, and so on and so forth. It will enable you to how to develop a web application using Rails.
source

Really Getting started with Ruby on Rails

This tutorial will make you to learn various aspects of Ruby on Rails such as syntax and semantics, database connectivity, object orientation, variables, loops, DOM diets, loop unrolling, how to play nice with the garbage collector, and everything in between. It will provide you in-depth knowledge on Ruby on Rails with suitable examples.
source

Glance over Ruby on Rails

In this tutorial you will get the complete review of Ruby on Rails with example applications, models/migrations, controllers, views, routing, mail, testing, performance, administration, and debugging and much more than these.
source

Rails101 Tutorial Ruby on Rails with Relations

This tutorial will be a top-notch package for learning the Ruby on Rails. This tutorial will no doubt educate legions of beginning and intermediate Rails developers. This tutorial will enable you to create rapid Ruby on Rails applications with relations and validations.
source

Learn to Program with Ruby

This tutorial will introduce you the elegance and effectiveness of Ruby as a programming language. It will teach you how to start programming with Ruby language and what a great language Ruby would be for programmers.
source

JQuery with Rails

This tutorial will teach you how to use jQuery with Rails. The programmer will be able to learn much more about the use of jQuery with Rails.
source

Gmail as your mail server with mails

Going through this tutorial will let the programmers to learn about how to use Gmail as the mail server with Rails.
source

Web application with Ruby on Rails

This tutorial will teach you teach you how to develop and deploy real, industrial-strength web applications with Ruby on Rails. It is wholly intended for those designers who are going to be working with Rails and is proposed to give them a good starting point to jump into work with a Rails developer.
source

FUTURE RESOURCES

To go beyond these tutorials, we are also providing you other resources to gain expertise in Ruby on Rails. For further reference you may go through different PDF files as mentioned below. These PDF files will guide you how to initiate and move step by step to build any application using Ruby on Rails.

http://docs.cpanel.net/twiki/pub/AllDocumentation/TrainingResources/TrainingSlides08/RubyonRails.pdf

http://media.rubyonrails.org/presentations/fisl6.pdf

http://www.dice.inf.ed.ac.uk/units/user_support/training/rails_talk/rails_talk_slides.pdf

Leander crow

Leander Crow works at
Webby Central as a veteran web developer. He has a passion for technology, coding and design and has coded for award-winning names in the industry. He is also a freelance writer who has helped many web development firms build an audience by sharing informative write-ups.