Cannot get rails rolling

I have been trying to get the 30 minutes tutorial "Rolling with Ruby on
Rails revisited" going for a week now with zero luck. (Actually, I am
trying this at work as I am the one tasked to see how usable it all is,
so it was a work week, meaning 40ish hours.)

I got instant rails, as the tutorial said I should, but it could not
connect to MySQL. I changed this and that and got it to connect. Then,
I could not get it to generate the new application. (That is the part
where I type in "rails cookbook2". The problem was that, if I typed it
in at the location given, it could not find the correct thing to run as
if there was a pathing problem. I searched for executables called
"rails", found one and pointed there and it ran. Then, when I tried to
run the next rails command, "ruby script\generate scaffold recipe
recipe" I could not get it to do anything noticeable at all. Well, I
struggled with this until the frustration meter pegged again, so I
deleted it all and got a different version of instant rails (from
rubyforge).

Well, now I can, again, no longer connect to MySQL but this time I
cannot run apache from InstantRails.exe either.

If I have to spend a week to get the rails version of "hello world"
going, I might as well be using Java. I apologize for the exasperation
but as wondrous as ruby is linguistically, the gold seems to turn to
dross whenever I try to actually do something with it. All academic and
theoretical coding exercises are a joy. All attempts at usable
programming have been crushing.

Ok. Enough of the scream of ultimate anguish.

What is the secret and occult mystery of how to get rails to actually do
what the tutorial says can be done? What magical piece of the puzzle is
omitted that makes it actually work and why has no one else noticed that
doing exactly what it says to do will not yield the results promised?

At the least, can someone point me to a tutorial that will actually
work? I have bought many books on Ruby but none of them work (for me)
for anything but snippets of 10 lines or less. Anything that will break
the log jam will suffice. I am not asking for anyone to do the work for
me. I just want to be able to do the work for myself but rails seems to
be fighting me all the way and winning.

Hi Lloyd,

Lloyd Linklater wrote:

I have been trying to get the 30 minutes tutorial
"Rolling with Ruby on Rails revisited" going for
a week now with zero luck. (Actually, I am
trying this at work as I am the one tasked to see
how usable it all is, so it was a work week, meaning
40ish hours.)

<snip>

Ok. Enough of the scream of ultimate anguish.

I'm sorry to hear you've had difficulty and wish you'd posted to the
comments section at OReilly sooner. I still respond to postings there. The
difficulties you describe are not unique and most often result from one of
two things. First, some folks miss the NOTE: at the top of the tutorial
that points out that it's not updated yet to support Rails 2.x. There are
several postings in the comments section where that's caused readers
difficulties that went away when they dropped back to the supported version
of InstantRails. Second, if there is another service running on a port that
InstantRails uses by default, it won't be able to start one or both of MySQL
or Apache. It often happens, for example, that a reader already has MySQL
running as a service and needs to shut it down so that InstantRails can
start its own instance. Apache's not needed at all in a development mode
and I always shut it down immediatedly after starting InstantRails. IIRC,
the tutorial says to do so, but my memory's not what it once was :wink:

What is the secret and occult mystery of how to get rails
to actually do what the tutorial says can be done? What
magical piece of the puzzle is omitted that makes it actually
work and why has no one else noticed that doing exactly
what it says to do will not yield the results promised?

AFAIK, there's no mystery. My own journey had its rough spots, but they
typically turned out to derive from assumptions about how things work that
turn out to work a little differently, albeit much more easily, in Rails.
At any rate, I'm happy to help you discover and overcome whatever's tripping
you up. Feel free to post here, on OReilly, or to contact me directly at
bill dot walton at charter.net.

Best regards,
Bill

I have tried the approach as spelled out in "Agile Web Development with
Rails". I installed ruby, again. Then it said to type this:

gem install rails --include-dependencies

(page 20)

The book then triumphantly declares "congrat-ulations, you are on
rails".
I get this message:

ERROR: While executing gem ... <Gen::RemoteFtecher::FetchError>
A connection attempt failed because the connected party did not properly
respond after a period of time, or established connection failed because
connected host has failed to respond. - connect<2><Errno::ETIMEDOUT>

Well, it sounds as if I do not have internet connectivity, which this
posting contradicts.

I am running out of rails books and tutorials to follow. Can someone
point me in the right direction, please?

Hi Lloyd,

Lloyd Linklater wrote:

I have tried the approach as spelled out in "Agile Web Development with
Rails". I installed ruby, again. Then it said to type this:

gem install rails --include-dependencies

(page 20)

The book then triumphantly declares "congrat-ulations, you are on
rails".
I get this message:

ERROR: While executing gem ... <Gen::RemoteFtecher::FetchError>
A connection attempt failed because the connected party did not properly
respond after a period of time, or established connection failed because
connected host has failed to respond. - connect<2><Errno::ETIMEDOUT>

Looks like the remote server timed out. Happens from time to time. Try
again.

Best regards,
Bill

I have a fairly detailed intro to Rails that includes setup and a sample project available at http://www.napcs.com/resources/rails/cookbook/index.html. Perhaps that can help you. It’s something I used to use for internal training but I’ve decided to share it with the general public. As you can imagine, it’s gone through several revisions. While it says it works with Rails 2.0.2, it does work for Rails 2.1 as well. Instructions for installing Ruby on Rails and SQLite3 are included.

Bill Walton wrote:

Hi Lloyd,

Lloyd Linklater wrote:

ERROR: While executing gem ... <Gen::RemoteFtecher::FetchError>
A connection attempt failed because the connected party did not properly
respond after a period of time, or established connection failed because
connected host has failed to respond. - connect<2><Errno::ETIMEDOUT>

Looks like the remote server timed out. Happens from time to time. Try
again.

Best regards,
Bill

I tried several times and it is always the same. I am guessing that it
is because the firewall requires a username and pw to get onto the
internet. (work requirements) If the gem install needs internet
access, then, unless I can enter a username and pw, I cannot install.

Is there a way to specify such things?

Yes, environment variables. Google for http_proxy or ftp_proxy.

Greg Donald wrote:

if you set the http_proxy environment variable gem should use it

Fred

Frederick Cheung wrote:

Here's something else to try--execute the command:

  set http_proxy=http://win_username_here:win_password_here@your.proxy.server.here.org:8080

(With appropriate values subbed in for win_username_here & win_password_here & proxy server/port.)

at a command prompt immediately prior to calling the 'gem' command. That works for me...

HTH,

-Roy

Another option to throw out there is to look at using the "Ruby &
Rails Developer Bundle" from EnterpriseDB (PostgreSQL w/addons). It
contains the entire Ruby/Rails stack on top of PostgreSQL (which I'll
argue is a better db..)

Not tried it on Windows, but they have a release here:

"Ruby & Rails Developer Bundle"

* http://www.enterprisedb.com/products/download.do

Then try to build one of the tutorial apps. Best of luck!

Cheers,
Robby