views:

3476

answers:

6

I'm trying to work through this guide to Rails routing, but I got stuck in section 3.3:

Creating a RESTful route will also make available a pile of helpers within your application

and then they list some helpers like photos_url, photos_path, etc.

My questions:

Where can I find the complete list of helpers that is "made available?"

Is there a way to call the helpers in the console? I created an app, then opened up the console with script/console. I tried to call one of the helpers on the console like this:

>> entries_url

But got:

NameError: undefined local variable or method `entries_url' for #<Object:0x349a4>
    from (irb):8
A: 

I think this may be what you are looking for ... http://topfunky.com/clients/peepcode/REST-cheatsheet.pdf

DanSingerman
+5  A: 

rake routes at the command line should get you that list.

Mike Woodhouse
Take the first column and append _url to have the full URI or _path to have an URI not including the domain name.
Vincent Robert
+9  A: 

You have several questions in there, most of which have already been answered by people below.

The answer to one that wasn't fully addressed however, is: yes you can use the script/console to see where your routes go. Just type in app.[route_helper] and it will respond with the path. For example app.users_path will return /users/

So for your example type app.entries_url for the full URL - or app.entries_path for its relative path within the console.

Tim K.
Awesome! Thanks, man.
Ethan
A: 

From memory, you can't call url/path helpers from the console for some reason.

madlep
A: 

You can access other helpers in the console by appending "helper."; ie. helper.progress_box (assuming #progress_box exists of course)

Matt Darby
s/appending/prepending
Wahnfrieden
A: 

There's an awesome guide called "Rails Routing from the Outside In" written by Mike Gunderloy that deals with everything and anything routing

Ryan Bigg
That's the guide I referred and linked to in my original question.
Ethan
with a mistake in the url :) It has an extra "ttp"
Vijay Dev
@Vijay: fixed, thanks!
Ryan Bigg