I was finally able to get Rails mostly working by downloading InstantRails and pulling bits and pieces out of it. The philosophy of InstantRails seems to be “throw in everything including the kitchen sink”, because it includes a full installation of Apache 2, MySQL, PHP, phpmyadmin, Ruby, _two_ IDEs for Ruby and more. In my first little test program I discovered that Rails calls a plural “person” “people”, but to nitpick, “persons” is not only simpler but grammatically correct. You use “people” when talking about a coherent group of persons, like “a people”, or as Moses said, “let my people go”. Of course he wasn’t talking about a bunch of individuals, as in “let my persons go”, and you can’t say “my person”, anyway. (That implies ownership — though perhaps an Egyptian could have referred to his personal slaves as “my persons”.) But you can say “my nation” or “my tribe” or “my class” meaning the group to which you belong, and of course that’s what Moses meant. Let my people go. So when you have multiple instances of something you’re calling “person” in your database, and you like pluralizing table names, “people” is flat out the wrong usage. So this proves that Ruby on Rails sucks.
Just kidding, of course. As I keep saying it seems like a nice framework. As long as everything is customizable and over-rideable, I could transition over to using it. Ruby keywords are strange to me, but these can come with time. A couple things were off-putting, though. The first was that at the end of the “Four Days on Rails”:http://rails.homelinux.org/ tutorial, the author points out that using the ActiveRecord ORM, you can’t sort by any column. Just to do a simple sort, he had to revert to SQL. Which is okay, but that makes me wonder what other slightly more complex than basic operations might require the same. The second was that the CRUD (Create, Retrieve, Update, Delete) scaffold for database operations rendered what I call the “postback” page directly. This is when you fill out a form, press “Submit”, and the Web server replies with a page explaining which fields you missed or entered wrong and need to fill out. Generally I like using a redirect to get to this page, so that the partially-filled-out form comes back to you on a “fresh” Web page where you can press “reload” in your browser without the annoying “Resubmit form data?” pop-up box that comes up otherwise. Also, some browsers (IE) will cause the previous page to appear as “expired” when you press the “back” button — making it annoying or difficult to go back to where you came. This behavior requires sticking all the form information into the user’s session. Nothing wrong with that. I’m sure this can be accomplished with RoR, but strange that the scaffold wasn’t set up this way by default. I realize these both may seem minor, though. I’ll be able to speak to the framework better in a while.