Rails versions and documentation, confused learning rails

Okay, I am new to rails. I see that the new release of rails does not apply to anything on the site with regards to tutorials including screencasts.

What I don’t understand is how I am suppose to learn Rails 2.0 if there is no docmentation for it. I did see that on peepcode there is a pdf for what has changed but how does that help me?

How do I get an understanding of the design principles of rails 2.0 using “ReST”. Is this what has changed from 1.2.6 in 2.0?

I guess I don’t understand Rails 2.0 design philosophy since I don’t understand Rest. So does that mean I have to learn ReST before I learn Rails 2.0? Also, can someone please tell me a very generic layman approach to what exactly ReST is? I mean I have read some docs on the internet and it totally confuses the heck out of me.

Is there any “Getting Started with Rails 2.0” tutorials out there? It seems to me to be a big shame that the AWDWR book is based on rails 1x yet Rails 2.0 is suppose to be what you should use if created a new Rails app. So with all that is on the internet with regards to Rails documentation it seems like there is actually 3 different frameworks “rails 1.1, rails 1.2, rails 2.x”

Somone please tell a newb how to make sense out of all this?

How am I suppose to figure out what my URL’s are suppose to look like (ReSTFully) if there is not any documentation for a newb wanting to learn rails 2.0. Maybe there is docs, and I am just missing it.

I surely hope that the answer to learning Rails is not to force me to go buy $9.00 videos from peepcode. Maybe Rails-core can make their own videos/screencasts for free, to entice us coming from PHP to learn rails… and those just wanting to learn rails a FREE way to learn it.

I really do want to learn rails, but how do I with regards to the above?

Regards,

Pitcher

I'm not sure about the version differences and I doubt much can change
in THEORY of how RESTful applications work but I'm just a lowly noob so
bear with me. You might find this useful:
http://railscasts.com/episodes;archive check out numbers 34 - Named
Routes and 35 - Custom REST Actions.

Like you I've spent a lot of time trying to understand REST and it made
no sense at all to begin with but little by little it's becoming
clearer. I think the only way to get a real handle on it is to use it.
I found the videos really helpful, the guy explains things so clearly.

When you start to get an idea of what's going on you might also find
this helpful: topfunky.com/clients/peepcode/REST-cheatsheet.pdf (if
you're anything like me that'll just confuse you until you start to
grasp the concepts)

hope this helps.

Thanks, that is a great start. I am glad to see I am not the only one struggling here.

I’m really surprised that nobody took the time to clear this up for a beginner. Oh well.

I will do my best to explain what REST (specifically the rails version
which is one implementation of the overall principle) means to me.

For me, when I contrast REST development to non-REST development, only a
few things stand out. However, to understand REST in rails you must also
understand developing in rails in general.

Nevertheless, the two big REST differences in my opinion come down to
thinking of an application as being 'resource' oriented. In other words,
'resources' are the focal point of any REST application. A resource can
be anything (either database backed or not) that contains information
used in the application. "Posts" or "Users" or "Schools" or whatever
else you represent digitally can be a resource.

A RESTful application is all about creating, updating, deleting, and
displaying these resources in a variety of formats and based on a
variety of criteria. This is where the notion of CRUD comes in.
Essentially, thinking of an application as applying a small set of
actions to various resources.

What are the actions applied? Well, this is where the REST actions come
in. RESTful rails is all about keeping the application structured with
conventions on how resources are handled. Most notably, the actions are:

SHOW - a specific is shown to the user with detail in some format
NEW - a user is presented with a method to add a new resource
CREATE - the actual method responsible for creating a resource
EDIT - a user is presented with a method to change details for a
resource
UPDATE - the actual method responsible for updating the data for the
resource
DESTROY - a method responsible for deleting resources
INDEX - a list of resources is shown (either all resources or a subset
of them)

These actions are the basic cornerstone of any RESTful rails
application.

The combination of thinking in terms of resources, using conventional
actions, and usually providing several formats for any data make up the
major aspects of RESTful development.

Of course, because you are being a good boy, Rails will provide you with
a plethora of conveniences to reward you.

For instance, REST makes routing easy:

map.resource :posts

will automatically create all the routes to all your various CRUD
actions and appropriately name the urls so you can easily reference them
within the application.

Also, REST will provide a consistent interface which allows creating
API's rather easily. The whole idea of REST is to be able to provide
data responses in HTML or in JSON or in XML or in RSS, etc based on the
users needs and allowing them to read and modify resources in the
application.

Hope that helps a little bit,

- Nathan