Hi,
I have an outstanding problem with route generation. Right now if I
generate a route with the following syntax.
url_for( :controller => “foo”, :action => “bar”, :id => 4 )
I get
/foo/bar/4
I always get a URL without a trailing slash on the end. I want to add a
trailing slash always after the ID parameter. I have generated HTML
content that I want to always append to the root URL like above. And I
keep getting bad URLS. I also have another problem when doing route
generation where:
url_for( :controller => “foo”, :action => “bar”, :id => 4, :page => 5 )
returns:
/foo/bar/4?page=5
Eventhough my route configuration is:
map.connect “foo/bar/:id/:page”,
:controller => “Foo”,
:action => “bar”,
:requirements => { :id => /\d+/,
:page => /(\d+)|(\w+.html)/ }
This rule is never used when generating routes, and it’s really
important because of the problem I showed above.
Any help please?
Charlie
Charlie H. wrote:
Hi,
I have an outstanding problem with route generation. Right now if I
generate a route with the following syntax.
url_for( :controller => “foo”, :action => “bar”, :id => 4 )
I get
/foo/bar/4
I always get a URL without a trailing slash on the end. I want to add a
trailing slash always after the ID parameter. I have generated HTML
content that I want to always append to the root URL like above. And I
keep getting bad URLS. I also have another problem when doing route
generation where:
Well I found the answer to the first question after piling through the
source. There is a :trailing_slash option you can add to your url_for
or link_to to get the trailing slash. Still don’t have an answer for
the second question. I guess it’s back to the source.
url_for( :controller => “foo”, :action => “bar”, :id => 4, :page => 5 )
returns:
/foo/bar/4?page=5
Eventhough my route configuration is:
map.connect “foo/bar/:id/:page”,
:controller => “Foo”,
:action => “bar”,
:requirements => { :id => /\d+/,
:page => /(\d+)|(\w+.html)/ }
This rule is never used when generating routes, and it’s really
important because of the problem I showed above.
Any help please?
Charlie
Charlie H. wrote:
/foo/bar/4?page=5
important because of the problem I showed above.
Any help please?
Charlie
Hey C,
I guess you already tried the following, but just in case:
map.connect “foo/bar/:id/:page”,
:controller => “foo”,
:action => “bar”,
:requirements => { :id => /\d+/,
:page => /(\d+)|(\w+.html)/ }
I’ve never had explicit x.html
requests routed to rails though
so I’ve no idea if it’ll work
map.connect “:controller/:action/:id/”
map.connect “:controller/:action/:id”
should solve the trailing slash issue
Gustav P.
[email protected]