| Using Ruby On Rails
 This is intended to be a brief introduction to developing ruby on rails applications.    At the bottom of this article you will find a number of resources to help you    learn more about ruby on rails and related information, as well as links to    some rails tutorials that will go into more depth than this document.
 
 Before you start digging your feet into Ruby on Rails, you should understand    exactly what it is. Ruby on Rails is an advanced object-oriented    Model-View-Controller application framework. If you didn't fully understand    the meaning of the previous sentence, you're going to need to put in some    study time before you can jump into rails programming. Ruby On Rails is aimed    at advanced programmers; jumping into it before you're ready is likely to be    very very hard. This tutorial should be easy enough for anyone to follow, but    there's a lot more to rails than you'll be learning here. This tutorial    serves as a first step into ruby on rails.
 
 The Model-View-Controller (abbreviated to MVC) design pattern is fairly    straight-forward, it simply means that your program is split into three separate    components: The Model, View, and Controller. The "Model" is your    data, no matter how it's stored. If you're writing a blog, this is where all    of your posts and comments would go. The "View" is your interface.    In the case of ruby on rails, we're talking about the part that displays your    HTML. The controller handles the business logic, and ties the model to the    view. MVC programming is beneficial for many reasons.
 
 From this point on it is assumed that you have an understanding of both    object-oriented design and MVC, and now you can get into how to develop rails    applications. A few additional notes before you start:
 
 First of all, you need to have SSH access enabled. You'll need to contact    customer support for this.
 
 Secondly, you'll see a lot of tutorials referring to a program called    "script/server" or "webrick". This is NOT NECESSARY on a    hosting account, and you should never have to use it. This is designed for    people who are developing their rails application on their own computer where    there is no apache install which is pre-configured to use ruby on rails.    However, you do have access to such a server on hosting accounts, so you do    not need to worry about script/server. Do not run it, as it will not even    work.
 
 To begin, log into the server using SSH. You'll need a work area for your    rails application. Assuming ahead of time that you may eventually want    multiple applications, you should make a work directory and then cd into it.    You can name it whatever you would like, but this document assumes that it is    called "rails".
 
 % mkdir ~/rails
 % cd ~/rails
 
 Now you may create your application. As we are just making a simple Hello    World application, we'll assume that the application is named    "first".
 
 % rails first
 % cd first
 
 Next, we're going to set up a subdomain for this application to run on. Log    into your cPanel, click on 'subdomains', then type 'first' into the first    text box and click 'Add'. You've now created a new subdomain,    first.yourdomain.com, which will be the new home of your ruby on rails    application. Now, we're going to make your application's "public"    directory be the rootdir of that subdomain with the following commands:
 
 % cd ~/public_html/
 % rm -r first
 % ln -s /home/YOUR_USERNAME/rails/first/public first
 
 You should now be able to go to http://first.yourdomain.com/, where you will see the Ruby on Rails welcome message. As the welcome page    suggests, it is now time to set up your databases.
 
 In cPanel, click on 'MySQL Databases'. The first thing you'll want to do here    is add an SQL user for rails to use. You can name this whatever you'd like.    We will assume you used 'rails'. cPanel prepends your username to the user    name, so you should take note of the actual name created (it should be    username_rails).
 
 Next, we're adding a database. Name this database 'first', to match your    application name. You will again notice that username_ has been prepended.    Finally, we're going to link this username to the database. Select username_rails    and username_first from the dropdowns and make sure the 'All' checkbox below    them is checked, then click the 'Add User To DB' button.
 
 Now you should repeat this step, with 'firstdev' as the database name, and    linking username_rails to it.
 
 Now we're going to edit the database.yml file. Open    ~/rails/first/config/database.yml in your favorite editor, and modify the    'development' and 'production' sections to contain the username, password,    and database that you just created.
 
 production:
 adapter: mysql
 database: username_first
 host: localhost
 username: username_rails
 password: password
 
 development:
 adapter: mysql
 database: username_firstdev
 host: localhost
 username: username_rails
 password: password
 
 Next you should create the actual database data. From the mySQL page in    cPanel, you should find a 'phpmyadmin' link. Within phpmyadmin, select the    "_first" database from the dropdown on the left, then click on the    "SQL" tab along the top. Paste the following into your box and click    'Go':
 
 CREATE TABLE `people` (
 `id` int(10) unsigned NOT NULL auto_increment,
 `name` varchar(50) NOT NULL default '',
 `street1` varchar(70) NOT NULL default '',
 `street2` varchar(70) NOT NULL default '',
 `city` varchar(70) NOT NULL default '',
 `state` char(2) NOT NULL default '',
 `zip` varchar(10) NOT NULL default '',
 PRIMARY KEY (`id`),
 KEY `name` (`name`)
 ) TYPE=MyISAM AUTO_INCREMENT=2 ;
 
 Now, click on the SQL tab one more time, and run this query:
 
 INSERT INTO `people` VALUES (1, 'Superman', '123 Somewhere', '', 'Smallville',    'KS', '123456');
 
 Now repeat these two sql queries for your _firstdev database.
 
 The next step is to create a controller.
 
 % ./script/generate controller First list view new edit
 
 After that has been created, you will create your model.
 
 % ./script/generate model Person
 
 Now we're going to modify two files. First, open app/views/first/view.rhtml    and make it look like this:
 
 <html>
 <body>
 <h1>Friends#view</h1>
 <p>This page will display one friend</p>
 <p>
 <%= @person.name %><br />
 <%= @person.street1 %><br />
 <%= @person.street2 %><br />
 <%= @person.city %><br />
 <%= @person.state %><br />
 <%= @person.zip %><br />
 </p>
 </body>
 </html>
 
 Next, open app/controllers/first_controller.rb and modify the 'view' method    to look like this:
 
 def view
 @person = Person.find(1)
 end
 
 Congratulations, You now have a working ruby on rails application which reads    information from a database. Go to http://first.yourdomain.com/first/view and you should see Superman's information.
 
 You should now go on to read other ruby on rails tutorials. You should also watch the Ruby On Rails Screencasts, which show you, among    other things, how an experienced ruby on rails developer can create a fully    functional application in a matter of minutes using ruby on Rails.
 
 ADDITIONAL INFORMATION AND TUTORIALS:
 Why's poignant guide to ruby: You will either enjoy this or hate it, but it's    a nice intro to the ruby language: http://poignantguide.net/ruby
 |