Ruby on Rails - добавление параметров в конец URL - PullRequest
0 голосов
/ 31 августа 2018

Я хочу добавить параметр / строку 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

1 Ответ

0 голосов
/ 31 августа 2018

Прежде всего - для проверки, если 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...