aboutsummaryrefslogtreecommitdiffstats
path: root/app/helpers/link_to_helper.rb
diff options
context:
space:
mode:
authorSeb Bacon <seb.bacon@gmail.com>2011-12-21 14:13:22 +0000
committerSeb Bacon <seb.bacon@gmail.com>2011-12-21 14:13:22 +0000
commitb17e88dc685e3bb0284aa53ef933c02b1e8b199e (patch)
treed257714320e4cc1d2accc843a0b36921f4fd889b /app/helpers/link_to_helper.rb
parent9f1fe3ca49298c5ea52cd6ebb7c2e518d45e7718 (diff)
Don't generate endlessly recursive URLs from request pages where the URL has a query string. Fixes #311.
Diffstat (limited to 'app/helpers/link_to_helper.rb')
-rwxr-xr-xapp/helpers/link_to_helper.rb11
1 files changed, 9 insertions, 2 deletions
diff --git a/app/helpers/link_to_helper.rb b/app/helpers/link_to_helper.rb
index 54b8d69d0..5866c31f0 100755
--- a/app/helpers/link_to_helper.rb
+++ b/app/helpers/link_to_helper.rb
@@ -185,9 +185,16 @@ module LinkToHelper
end
- def main_url(relative_path)
+ def main_url(relative_path, append = nil)
url_prefix = "http://" + MySociety::Config.get("DOMAIN", '127.0.0.1:3000')
- return url_prefix + relative_path
+ url = url_prefix + relative_path
+ if !append.nil?
+ env = Rack::MockRequest.env_for(url)
+ req = Rack::Request.new(env)
+ req.path_info += append
+ url = req.url
+ end
+ return url
end
# Basic date format