Re: Advanced routing question.

Eero Saynatkari
2005-12-14T20:45:52Z

Jim Jeffers wrote:
> Hello All,
>
> I''m making a quick application that tracks outgoing links to
referral
> sites.  I need to track the user and the url they went to so the
> easiest way would be to take the entire url as a parameter and log
> that into the database.  I was wondering if I could do something like
> this with routing:
>
> http://www.example.com/user/jump/http://www.myvendor.com/referral.php?
> id=23ijo23jnjknbdc&uid=32lknklfelkj32
>
> user => controller
> jump => action
> http://www.myvendor.com/referral.php?
> id=23ijo23jnjknbdc&uid=32lknklfelkj32 => string/parameter
>
> I don''t know it''s possible to do this because the url
itself contains
> ''/''.  Any ideas?

You should be able to use the ''generic URL'' form of routing:

  map.connect ''user/jump/*path'', # ...

This way, params[:path] will have the path information.

You will almost certainly want to URI.encode(url_string)
when generating the links and it might not be a bad idea
to Base64-encode it as well, just to avoid any problems:

  require ''base64''

  url = Base64.decode64(Base64.encode64(url))


E

--
Posted via http://www.ruby-forum.com/.