Beginning Rails development without internet

When I told some web developer friends that I was going to try to
learn Rails while taking a year off before college (when I would have
very little internet), they were a little concerned, saying that it
was almost essential to get advice from more experienced developers to
really understand the nuances of the language.

I have set this google group up to send me emails which I can retrieve
on the boat, so hopefully I will be able to learn with your help.

Anyways, I have a few questions.

I am making a very simple forum as my first real project (one done
without a tutorial in a book). I have read Head First Rails by
O'Reilly (which was very helpful), and I think I can do it. However,
the database organization is what I'm not sure about.

How should I organize threads, posts, users, and options?

I think that threads and posts I can make a relationship between, and
use "thread_id" in the posts table to show which posts belong to which
threads. However, this seems like the table will get huge very
quickly. On the other hand, I don't think that each thread needs it's
own posts table. What do you recommend?

Similarly, should a user's options be in the users table, or should
options have its own table which connects via a relationship between
user id and user_id in the options table?

Finally, how should I store global forum settings like default posts
per page and stuff like that?

Thanks so much for your help!
~Zak Strassberg

When I told some web developer friends that I was going to try to
learn Rails while taking a year off before college (when I would have
very little internet), they were a little concerned, saying that it
was almost essential to get advice from more experienced developers to
really understand the nuances of the language.

If you are trying to learn with only limited internet access then I
would suggest that using books would be the way to start. Get Agile
Web Development with Rails, 3rd Edition, and the Ruby pickaxe book,
Programming Ruby: The Pragmatic Programmers' Guide. Working through
those should keep you happy for a few weeks.

Even so it will be difficult without google.

I have set this google group up to send me emails which I can retrieve
on the boat, so hopefully I will be able to learn with your help.

Anyways, I have a few questions.

I am making a very simple forum as my first real project (one done
without a tutorial in a book). I have read Head First Rails by
O'Reilly (which was very helpful), and I think I can do it. However,
the database organization is what I'm not sure about.

How should I organize threads, posts, users, and options?

I think that threads and posts I can make a relationship between, and
use "thread_id" in the posts table to show which posts belong to which
threads. However, this seems like the table will get huge very
quickly. On the other hand, I don't think that each thread needs it's
own posts table. What do you recommend?

Similarly, should a user's options be in the users table, or should
options have its own table which connects via a relationship between
user id and user_id in the options table?

Finally, how should I store global forum settings like default posts
per page and stuff like that?

By the time you have worked through the books you may be able to
answer some of these yourself. Also during the learning exercise it
is not too important how you design stuff. You will learn much by
coding and re-coding as you realise there are better ways of
organising it. Don't forget to write tests as you go (or before you
go) so that as you refactor the code with your new ideas you can be
confident it continues to work.

Use a version control system (git probably or svn) for your work.
This makes it much easier to remember what you have done, backtrack
out of blind alleys and so on.

Good luck

Colin

I just started Agile last night, and it seems good. Head First Rails
was really good in getting me interested and not overwhelming me. Does
Agile cover details about tests? I don't really understand how they
work/how you build them, etc, and I can't look them up...

Zak Strassberg wrote:

I just started Agile last night, and it seems good. Head First Rails
was really good in getting me interested and not overwhelming me. Does
Agile cover details about tests? I don't really understand how they
work/how you build them, etc, and I can't look them up...

You're not going to be able to learn Rails from scratch without Internet
access. Sorry to be discouraging, but that's the way it is. There's
simply too much that's only documented on blogs or websites. Wait till
you get off the boat.

Best,

I just started Agile last night, and it seems good. Head First Rails
was really good in getting me interested and not overwhelming me. Does
Agile cover details about tests? I don't really understand how they
work/how you build them, etc, and I can't look them up...

I don't seem to remember it going very deep into testing.

You may want to check out The Rspec Book by David Chelmsky. It's still
in 'beta', but may be worth a try.
http://www.pragprog.com/titles/achbd/the-rspec-book