I have a route the looks like this:
map.preview_profile '/profile/:client/:profile', :controller => 'profiles', :action => 'pub_view'
if I do url_for(:controller => 'profiles', :action => 'pub_view', :client => 'client-xyz', :profile => 'profile1' )
I get this: "/profile/client-xyz/profile1"
However, if I change my route to this:
map.preview_profile '/profile/:client/:profile', :controller => 'profiles', :action => 'pub_view', :host => 'www.example.com' (I added the :host option) the same url_for returns this:
/profiles/pub_view?client_permalink=client- xyz&profile_permalink=profile1
I've also tried url_for(:host => 'www.example.com', :controller => 'profiles', :action => 'pub_view', :client => 'client-xyz', :profile => 'profile1' )
with the same results.
So my conclusion is that Routes and URL generation is broken if you specify a :host in the Route. Is that correct?
FWIW, I'm not really doing url_for, I'm trying to use expire_page but that relies on url_for.
Thanks for any help or work-arounds for this issue.
Eric Lund