How to encode (.) Dot in url Rails

Hi All,

I am having routes like below to delete/list an user.

map.connect
‘developer/:user_name/delete’,:controller=>“developers”,:action=>“delete”,:method=>:delete

map.connect
‘developer/:user_name/list’,:controller=>“developers”,:action=>“list”,:method=>:get

While listing the user by encoding the Dot with %2E, i can see the
success
response
http://localhost:3000/developer/testuser.hu/listhttp://localhost:3000/developer/testuser.hu/list

But While trying to delete the user who containing the Dot(.), throws
404
error.

http://localhost:3000/developer/testuser.hu/deletehttp://localhost:3000/developer/testuser.hu/delete,
thanks in advance
regards,
Loganathan

On 20 January 2012 13:03, Tim S. [email protected] wrote:

You have the developer/:user_name/deleteroute set to use “delete” as the
method, rather than “get”

Since browsers usually don’t support sending requests other than post or
get, you’ll need to pass a “_method=delete” parameter to that route

Check out the rails guide on routing for more information:
http://guides.rubyonrails.org/routing.html#resources-on-the-web

Also do not pass the user name but the id.

Colin

You have the developer/:user_name/delete route set to use “delete” as
the
method, rather than “get”

Since browsers usually don’t support sending requests other than post or
get, you’ll need to pass a “_method=delete” parameter to that route

Check out the rails guide on routing for more information:
http://guides.rubyonrails.org/routing.html#resources-on-the-web

Hi Tim,

I already tried with the get method too. but no luck.

regards,
Loganathan

Hi Colin

That was an api call, so we cannot change the url.

regards,
Loganathan

constraints (:version => /[0-9]{1}(?:.[0-9]{1,2})/) do
match 'ws/:api_version => ‘api#create’
end

This route will match to 'ws/1.23" and you will have params[:version] ==
“1.23”

On Sat, Jan 21, 2012 at 1:35 AM, Rob B.
[email protected]wrote:

While listing the user by encoding the Dot with %2E, i can see the success

You received this message because you are subscribed to the Google G.
“Ruby on Rails: Talk” group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.


Regards
Mukesh Paras Singh

On Jan 20, 2012, at 7:38 AM, Loganathan S. wrote:

Hi All,
I am having routes like below to delete/list an user.

map.connect
‘developer/:user_name/delete’,:controller=>“developers”,:action=>“delete”,:method=>:delete

You probably need to keep the ‘.’ from being treated as a separator
(like for a format):

:requirements => { :user_name => /.*/ }

-Rob

I solved the problem by adding ActionController::Routing::SEPARATORS =
%w( / ; , ? ) in my routes.rb
file, but an warning message is
displaying as below

config/routes.rb:12: warning: already initialized constant SEPARATORS

Want to know whether this warning will be an issue on future?

regards,
Loganathan

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs