krunk1
(krunk-)
November 17, 2006, 1:53am
1
The site I'm currently designing doesn't have a db back end. So I'm
using rails primarily for templating and some scripting.
I approached this by creating a controller called 'main' and various
views like "index", "welcome", "about", etc.
But then I'd get URL's like www.mydomain.com/main/welcome when I wanted
www.mydomain/welcome.
To fix it, I made some routes in my config/routes.rb that look like:
map.connect "welcome", :controller => "main", :action => "welcome"
This seems to work peachy, but I was wondering...is this the "correct"
way to approach this site design with rails?
e.g. a 'main' site controller and address rewrites via routes.rb?
Mait
(Mait)
November 17, 2006, 2:48am
2
map.connect '', :controller => "post", :action => 'index'
map.connect ':id', :controller => 'post', :action=> 'show', :id =>
/\d+/
map.connect ':action/:id', :controller => 'post' # Is it that you
want?
# Install the default route as the lowest priority.
map.connect ':controller/:action/:id'
These setting set post controller default that is my forum software
default controller.
http://mysite/
http://mysite/action/
http://mysite/action/id/whatever
http://mysite/other_controller/action/ …
shane
(shane)
November 17, 2006, 3:13am
3
others may make a more pententrating comment, however, the ROR API is
engineered for 2-tuples (x,y) where x desginates a controller and y
designates an action on the controller. this is the natural way to
approach ROR development.