APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

Mac OS X Ruby on Rails II

© May 2019 Anthony Lawrence

When we left off with Mac OS X Ruby on Rails. I had Rails up and running but had not a clue as to where to go from there. It's not hard to find information and tutorials on the net, but as always, assumptions are made, prerequisites are brushed by or ignored entirely, and you can find yourself in a hall of mirrors wondering which one of the reflections is what you really need. No doubt the page you are reading now will have similar deficiencies, so take a deep breath and be prepared for adverse conditions.

The first problem I encountered was mysql. The install steps I followed had me bring down downloads.mysql.com/archives/mysql-4.1/mysql-standard-4.1.20-apple-darwin8.5.1-i686.dmg (link dead, sorry) MySQL for OS X Intel and modify my PATH to include /usr/local/mysql/bin. That's wrong. You actually need your PATH to include /usr/local/mysql-standard-4.1.20-apple-darwin8.5.1-i686/bin/ because that's where that OS X package puts it. Or at least that's what I had to do, and that's why these sorts of articles can lead you astray: things change all the time. Recipes are great, and can sometimes work for those of us without any culinary skills. But when you can't find any chopped pimento, my wife knows what to do, and I do not. Same with computer software install recipes: if it all works for you, that's great, but when it doesn't, you need a brain and some experience.

My day wouldn't be complete without revisiting my small MySQL Rant. While it remains true that databases are often employed doing labor better done with flat files or even in-memory tables, the fact is that all the cool kids have MySQL hats and we wouldn't want them dissing us any more than they already would, so I'll grit my teeth and use MySQL for this exposition. It is a trial and a tribulation to do so, and I expect a pat on the back accompanied by soothing words from you to show your appreciation of my pain.

I'm waiting.

Ok, fine, we'll go ahead anyway. Having properly finagled our path, it's time to create a database for our "try_rails" project.

mysqladmin -u root -p create try_rails_development

That asks for a password; if you've done nothing but follow the steps I outlined here, just press enter. If instead you are already wearing your MySQL tee-shirt, hat, and belt-buckle, you probably changed your MySQL root password and know what to type all by yourself. So don't ask me. But.. if you were the "I know what I'm doing" type, be aware that Rails needs to know your password, so you'll need to edit try_rails/config/database.yml and in doing so, you might understand why we created try_rails_development. Everyone else should just move along quietly - nothing more to see here, folks.

Some magic incantations:

cd try_rails
ruby script/generate migration accounts

I'm not entirely clear yet on what that really does. I'll take it on faith as a necessary step for now.

vi db/migrate/001_accounts.rb

Yeah, you have to use vi. Oh, ok, you don't. Use whatever you want and stop moaning. Edit the file and make it look like this:

Class Accounts < ActiveRecord::Migration
  def self.up
    create_table :puters do |table|
      table.column :name, :string
      table.column :proc, :string
      table.column :cost, :float

  def self.down
    drop_table :puters

Now do this:

ruby script/generate scaffold puter expenses
cd try_rails; ruby script/server
(If you had left the server running, Ctrl-C will stop it)

More magic words. Ahh, the power of blind faith. The only part of that I understand is the editing.

Oh, yes, you can find explanations of the inner machinations of these things on the web, and "script/generate" is of course just a Ruby program that you could follow and ultimately comprehend. My knowledge of Ruby is insufficient for that at the moment, so I'll just follow the recipes.

Amazingly enough, you now have a working application. Point your browser at https://localhost:3000/expenses and there it is. It's simple, and not all that glamorous, but it does the things it needs to do.

Got something to add? Send me email.

(OLDER)    <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

-> Mac OS X Ruby on Rails II

1 comment

Inexpensive and informative Apple related e-books:

Photos for Mac: A Take Control Crash Course

Take Control of IOS 11

Take Control of OS X Server

Digital Sharing Crash Course

Take Control of High Sierra

More Articles by © Anthony Lawrence

Related Articles

Mon Jul 10 12:51:29 2006: 2235   MikeHostetler

You had a lot of the same frustration that I do with the Ruby on Rails tutorials -- a lot of them just say, "Hey, just type this command!" and it works, but you don't know "why". If you don't know why you need to do this, how can you really learn it with any depth?

I think you can use SQLite with RoR. Here is a page about it. I've never tried it, so YMMV.



Printer Friendly Version

Related Articles

Have you tried Searching this site?

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us

Printer Friendly Version

C is quirky, flawed, and an enormous success. (Dennis Ritchie)

Linux posts

Troubleshooting posts

This post tagged:




Unix/Linux Consultants

Skills Tests

Unix/Linux Book Reviews

My Unix/Linux Troubleshooting Book

This site runs on Linode

SCO Unix Sales, Support, & Service

Phone:  707-SCO-UNIX (707-726-8649Toll Free: 833-SCO-UNIX (833-726-8649)