Simplification of the 'link_back' code

This commit is contained in:
chris2tof committed 2011-04-19 15:05:48 +08:00
1 parent d88cae437d
commit 1909edbe2a
13 files changed
+23 -44

No files matched your search

+22 -1
View File
@@ -17,7 +17,28 @@ module ApplicationHelper
end
def link_back
link_to t('back'), session[:last_page]
link_to t('back'), get_go_back
end
# Clean the link back
# Remove the locale but keep all the other params
def get_go_back
begin
if request.request_uri.include?('locale=')
session[:last_page]
else
target = request.referer.split('?')
vars = target[1].split('&') rescue []
vars.delete_if {|var| var.include? 'locale=' }
session[:last_page] = if vars.size > 0
target[0].to_s + '?' + vars.join('&')
else
target[0].to_s
end
end
rescue
eval(params[:controller].split('/').join('_') << '_url')
end
end
def message_for_item(message, item = nil)