route + Routing Error

Hello Friends,
I have a requirement where I want to Have the following url “http://www.example.com/andy.something/office” where **andy.something is a dynamic value.**Now I am using a namespace which is :controller=>“system/office/office_profiles”
and I have declared the route
map.office_profile_link ‘/:profile_link/office’, :controller => “system/office/office_profiles”, :action => “show”, :conditions => { :method => :get }
But when I am trying to access
http://www.example.com/andy.something/office

Getting the following error

Routing Error

No route matches "/andy.something/office" with {:method=>:get}

So Please let me know where I am getting wrong.

Thanks
Abhis.

Hello Friends,

I have a requirement where I want to Have the following url "http://www.example.com/andy.something/office" where *andy.something is a
dynamic value.

*Now I am using a namespace which is
:controller=>"system/office/office_profiles"

and I have declared the route

map.office_profile_link '/:profile_link/office', :controller =>

Are you sure you want "_link" as part of the route name? Remember the
*_url and *_path helpers are generated from your existing named
routes. But thats not the issue at hand.

"system/office/office_profiles", :action => "show", :conditions => { :method
=> :get }

But when I am trying to access

http://www.example.com/andy.something/office

Getting the following error

Routing Error

No route matches "/andy.something/office" with {:method=>:get}

So Please let me know where I am getting wrong.

Thanks
Abhis.

You're not doing anything necessarily wrong; Rails just automatically
delimits bound parameters on periods. Tell the route to expect a "."
in the :name parameter by adding a requirement (http://
guides.rubyonrails.org/routing.html#route-requirements) to the route
like

map.office_profile_link '/:profile_link/office', :controller =>
"system/office/office_profiles", :action => "show", :conditions =>
{ :method => :get }, :name => /(?:\w+)(?:\.\w+)?/ # of course using an
appropriate regex for your cause