我想将param / string utm_campaign
添加到URL的末尾(如果存在)。我当时正在考虑一种检查URL的辅助方法,如果utm_campaig
n存在,它将自动将其放在右边。
test.com/home/?utm_source=test
test.com/home/?utm_source=test&utm_campaign=testit
我还需要在每次链接更改操作中允许它。
例如:
我在test.com/home/?utm_source&utm_campaign=testit
上并有一个联系表,完成后,将我发送到test.com/contact
-不允许使用参数。
我将如何实现?
我现在有这样的东西:
def url_include_campaign?
url = request.path_info
if url.include?('utm_campaign')
end
end
答案 0 :(得分:0)
首先-要检查utm_campaign
是否可用,可以使用request.query_parameters
。
要将参数添加到URL,我将这样做:
def url_with_campaign
if request.query_parameters.fetch('utm_campaign', false)
# utm_campaign is set, do whatever you need
else
new_query_params = request.query_parameters
new_query_params['utm_campaign'] = '##SOMETHING##'
redirect_to "#{request.base_url}#{request.path}?#{new_query_params.to_query}"
end
end