codetriage / docs_doctor

http://docsdoctor.org
27 stars 21 forks source link

"home" page links to projects with escaped slash in URL #50

Closed alxndr closed 8 years ago

alxndr commented 8 years ago

When logged in, my home page (http://www.docsdoctor.org/) shows lists of "Repos you are currently helping" and "Repos needing the most help" where the name of each project is a link to the page for that project on DocsDoctor. However the link is escaping the slash in the path, so that the link for the rails/rails project is http://www.docsdoctor.org/rails%2Frails. This URL 404s with the message "The page you were looking for doesn't exist."

screen shot 2016-03-13 at 16 12 49

(first reported on the twitters)

schneems commented 8 years ago

I can honestly say I have no idea why this is happening. Links in the email work correctly. I tried throwing around some .html_safe methods and i've got no idea where that escaping is coming from. The routes are basically the same as codetriage.com and that works fine. so ¯(ツ)/¯.

The end goal is to merge codetriage and docsdoctor. I'll try to start working on that this week and if it goes quickly maybe that is an easier fix than figuring out where this is coming from.

Here is a related stack overflow post: http://stackoverflow.com/questions/30349553/after-rails-4-upgrade-2f-being-escaped-on-the-url

zenspider commented 8 years ago

@schneems is it not here: https://github.com/codetriage/docs_doctor/blob/master/app/views/repos/_repo.html.erb#L3

and should be repo.path instead of repo? I don't know where repo is being to_sd (or whatever).

schneems commented 8 years ago

Repo has a to_param on it, which is what gets called by the routing. passing in the path directly would work but it's a hack, it's not supposed to be required and it was previously working. It gets called here https://github.com/rails/rails/blob/d1fa9c6682ff2d4512b5609ee82d7785cc2a2cc1/actionpack/lib/action_dispatch/routing/route_set.rb#L622

schneems commented 8 years ago

Closed by #52