Передайте значение option_for_select в качестве параметра в link_to в Ruby on Rails - PullRequest
0 голосов
/ 05 декабря 2018
<%= form_tag form_submit_path do |f| %>

<%= select_tag(:report_id, options_for_select(
  [["Select Report Type", 0],
  ["Report 1", 1],
  ["Report 1", 1],
  ]), id: "report_selection")) %>

<%= link_to 'Generate Report', 
              NOT_form_submit_path, 
              report_id: report_selection,
              id: 'generate_report_link', 
              class: 'btn btn-small btn-primary', 
                remote: true%>

У меня есть выпадающий список внутри формы, как показано выше.У меня также есть link_to, как показано выше, который НЕ вызывает путь отправки формы, а использует другой путь.Теперь я хотел бы передать раскрывающееся значение выбора в качестве параметра (с именем report_id) в моем link_to.Я не уверен, как это сделать.Я попытался использовать report_id: report_selection, как показано выше, а также report_id: report_id, но ни один из них не был передан моему контроллеру (в любом случае значение в моем контроллере равно nil).

Как передать параметрв моем link_to позвонить?Пожалуйста, помогите!

1 Ответ

0 голосов
/ 05 декабря 2018

Пожалуйста, следуйте объяснениям в закомментированной строке, это можно сделать с помощью более коротких строк кода, но я просто объяснил это шаг за шагом.

<script type="text/javascript">
  //$('#report_selection').change(function(){
  $('#report_selection').on('change', function(){
    // get selected value from report_id options
    var selected_val = $(this).val(); 
    // get current path of link
    var link_url = $('#generate_report_link')[0].pathname
    // append selected value in link path and define it as new link
    var new_link_url = link_url + "?report_id=" + selected_val;
    // set new path or link
    $('#generate_report_link').attr('href', new_link_url);
  })
</script>

Измените ссылку на -

<%= link_to 'Generate Report', 
              NOT_form_submit_path,
              id: 'generate_report_link', 
              class: 'btn btn-small btn-primary', 
                remote: true%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...