Part of the solution [the easy part] would be to implement to_param in
your models to yield the product name/make rather than the id. I’m just
not sure how to eliminate the words make, model, and year. Maybe
someone else will respond to that. I’m a RESTful noob myself.
If you want an idea on how to use to_param, check out the acts_as_sluggable. I believe the peepcode RESTful movie also goes over using to_param, but I could be incorrect.
Of course it is flexible. REST is about creating resources and making
them usable with the HTTP verbs. That's really all there is to it.
Using map.resources doesn't make your app RESTful, and not using
map.resources doesn't preclude you from making your app RESTful. It
just automates a lot of the routing for you so it's easier to get
where you want to be.