I'm trying to follow this tutorial here but the tutorial seems to use this "match" function.
match '/about', :to => 'pages#about'
Whenever, I do the same, I get this error from the server:
undefined method `match' for main:Object
How can I edit the routes.rb file such that:
Are you using Ruby on Rails 3? The match
router syntax is for Rails 3 only. For previous versions you can define a named route:
map.about '/about', :controller => 'pages', :action => 'about'
I did it with:
map.connect '/page', :controller => 'page2', :action => 'index'
so, in the URL I just redirect to http://xxxx/page
and RoR is really loading http://xxxx/page2/index.html.erb
Best Regards,
Iván Carrasco Q.
that syntax is for the upcoming Rails3 (actually in beta4 but it's yet adopted for production, if you know what you're doing :P)
you should use this for rails 2.3:
map.about '/about', :controller => 'pages', :action => 'about'
this works if you have an action called 'about' that renders a specific page. otherwise, if 'about' is a simple page that you fetch from a 'show' action, passing an ID or a PERMALINK (eg: you're using permalink_fu plugin), then the right syntax is:
map.about '/about', :controller => 'pages', :action => 'about', :id => 'page_id_or_permalink'
this solution it's not the best: if you change the permalink or delete/re-create the page with a different id, then you must update the routes. by the way it works as you asked.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.