<%= link_to type.name, types_path(CGI::escape(type.name)) %>

The above one renders the page fine. However, when I click on the
link, then it gives me the no route error.

<%= link_to type.name, types_path(CGI::escapeHTML(type.name)) %>

The one above does not even render the page and gives me the below
error:

No route matches {:controller=>"xxx", :types=>"yyy/
yyy", :action=>"zzz"}

On May 27, 8:46 pm, Kendall Gifford <zettab...@gmail.com> wrote:
> On Friday, May 27, 2011 3:41:00 PM UTC-6, tashfeen.ekram wrote:
>
> > actually, it is not a resource route. it is a route that is
> > specifically defined. that is there is not resource "type."
>
> > match "/types/:types" => "browse#list", :as => :types
>
> > It is unresourceful route.
>
> If this is your route, as long as you don't have other routes that begin
> with "/types/..." then you could update it with a constraint that allows
> forward slashes:
>
> > match "/types/:types" => "browse#list", :types => /.*/, :as => :types
>
> This should both make the routes match correctly on incoming URLs _and_
> allow you to call: types_path("text/with/slashes") without any errors being
> raised.
>
> Of course, you should adjust the constraints regexp as is appropriate (I
> find it ugly/hackish to have it wide open like that except where it would
> truly make sense). Also, if you had other routes like:
>
> > match "/types/sub/directory/:id" => "browse#yourmom", :as => :your_mom
>
> Then it'd conflict using the wide-open constraint technique.
>
> Anyhow, if you absolutely insist on simply escaping slashes instead of
> adding a constraint to your route, what was wrong with your first, original
> example:
>
> > <%= link_to type.name, types_path(CGI::escape(type.name)) %>
>
> You mentioned the second one gave a "no route" error, but did this one? (I
> just did a quick test and this actually worked for me). Just curious.

-- 
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 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to