Ok, so I've been doing some setup in the last few days (just every once in a while, usually no longer than 15 minutes in a row) to get Ruby on Rails running. Since Bart really likes the concept, I wanted to give it a try. Setting the stuff up wasn't really difficult, most Ruby on Rails tutorials give you a lot of hints about getting set up. Just a note, to try it "full fledged", I've even set up three different databases; one for production, one for testing and one for development.
I started very simple with an accounts table, like so:
user_id VARCHAR( 25 ) NOT NULL ,
fullname VARCHAR( 50 ) ,
) TYPE = MYISAM COMMENT = 'The accounts of the website users';
Then in the website root, I typed
script/generate scaffold accounts. I tried looking at http://myserver:3000/accounts to see the results, but alas, I got an error. From this tutorial I 'stole' the following idea:
script/generate model account. Now http://myserver:3000/accounts seems to display something. I can create a new account, but it stubornly leaves out the user_id field. I think I've seen in this movies that it's supposed to behave that way, since fields ending in '_id' are primary keys and supposed to be left out. So I redesigned my first table as follows:
user_id smallint(6) NOT NULL auto_increment,
username varchar(25) NOT NULL default '',
fullname varchar(50) default NULL,
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='The accounts of the website users' ;
Now I rerun
script/generate scaffold accounts and answer 'Y' (the default) on all questions. Now things look good, I get a view in which I can insert a new account. Nice. So far, so good.
Now the difficult part, I need to build a website out of this and at the same time learn to use Ruby, the programming language. I think it'll take about 3 months or so to get me really running. But I'll be taking small steps and work my way through it. Bart suggested I'd look at the Ruby on Rails API documentation, which although probably very thorough, is very difficult to read. But I'll learn.
I'm content for today. Will look at this again tomorrow. Or tonight ;-)