It's actually pretty easy to tell the parameters they take if you look at the url for the route.
For:
story GET /story/:id(.:format) story#show
You get story_path(id)
story_path(id, format)
story_url(id)
story_url(id, format)
In practice it doesn't cause as many problems as you think, even in large applications.