See <http://dev.rubyonrails.org/ticket/6426>.

One solution is to add
module ActionController::Routing
  SEPARATORS = %w( / ; , ? )
end
in your controller. I'm not sure if this still works under recent
versions of Rails.

Lee


On Dec 9, 3:42 pm, Pete Hodgson <[EMAIL PROTECTED]>
wrote:
> Hi Folks,
>
> I'm trying to set up a RESTful route in my rails app and have hit a
> snag. My application allows various different types of querying centered
> around a search phrase, and I decided it'd be nice to that in my RESTful
> API by exposing resources like:
>
> http://www.myapp.com/api/keyword_research/SOME_SEARCH_PHRASE
> for basic information about the phrase, and then
>
> http://www.myapp.com/api/keyword_research/SOME_SEARCH_PHRASE/popularity
> for a specific query on that phrase (it's popularity in this case).
>
> Essentially I'm trying to represent the search space as a resource
> space, with one resource for each possible phrase.
>
> I set up the following in my routes.rb, and it ALMOST works:
>
> map.resources(
>       :keyword_research,
>       :controller => 'api/v3/keyword_research' ,
>       :member => {:index => :get, :popularity => :get }
>     )
>
> I can then use something like the following to generate resource URLs:
> keyword_research_url( 'some search phrase' )
> and
> popularity_keyword_research_url( 'some search phrase' )
>
> The only problem is when the search phrase contains a dot. That leads to
> urls like:
>
> http://www.myapp.com/api/keyword_research/PHRASE.WITH.DOTS
> andhttp://www.myapp.com/api/keyword_research/PHRASE.WITH.DOTS/popularity
>
> which confuses the routing system to no end. This results in various
> errors such as template missing, no route found, etc etc. Essentially I
> think the routing system is interpretting the dotted id as specifying a
> representation type, or something similar.
>
> I thought a nice solution would be to encode the search_phrase portion
> of these resource urls when I generate them, leading to urls 
> like:http://www.myapp.com/api/keyword_research/PHRASE%2eWITH%2eDOTS
> andhttp://www.myapp.com/api/keyword_research/PHRASE%2eWITH%2eDOTS/popula...
>
> I've tested urls encoded like this and they appear to play nicely with
> the routing I have, and are within the specs AFAIK. I'd be happy with
> this, but the problem is that I don't know how to generate urls like
> this using the url helper methods.
>
> Anyone have any ideas? I'd be open to either a clean way to support
> un-encoded dots, or some advice on how to get ids with the dots encoded
> out of the url helpers. Or some other elegant solution, of course!
>
> Thanks,
> Pete
> --
> Posted viahttp://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to