ActionController: : Routing: : Routes. draw do | map|
map. connect ' /ads/new' , : controller=>' ads' , : action=>' new'
map. connect ' /ads/create' , : controller=>' ads' , : action=>'
create'
map. connect ' /ads/' , : controller=>' ads' , : action=>' index'
map. connect ' /ads/: id' , : controller=>' ads' , : action=>' show'
If we enter:
map. connect ' /ads/: id' , : controller=>' ads' , : action=>' show'
At the top of the ordering, how will that affect our routing.
Can you just describe how to order routes in routes.rb? I mean, what is
the rule to follow when ordering routes?
Thanks.
--
Posted via http://www.ruby-forum.com/.
The first entry in the file that matches is used, later ones are
disregarded, so if you put the /ads/:id one at the start (note there
is no space after the colon), then if a url matches that route then
later ones will not be tested. You can always try it and see for
yourself what happens. Have a look at the Rails Guide on routing for
more information.
Colin
I'm not sure how old "Head First Rails" is, though I'm thinking 2008. If
you're getting started take a look at Ruby on Rails Guides (as Colin
mentioned), which has an excellent page for this topic:
http://guides.rubyonrails.org/routing.html
Using RESTful routes simplifies that that example is trying to achieve
by a lot, and using them I rarely run into the precedence issue:
map.resources :ads, :only => [:index, :new, :create, :show]
The first matched route rules. If you read any Rails routing reference,
you'll find that is says just this.
Once again, the bigger answer: spend less time posting and more time
reading. Virtually every question you've asked on this list could have
been answered by 30 seconds with Google and/or 5 minutes with
documentation.
>
> Thanks.
Best,
--
Marnen Laibow-Koser
http://www.marnen.org
mar...@marnen.org