Когда пользователь выбирает значение из раскрывающегося списка и нажимает кнопку, значение из раскрывающегося списка должно быть передано в качестве параметра функции контроллера Rails.
Это код, который я использую:
<%= link_to 'Generate Report', forecast_report_pdf_path(format: :pdf), onclick: "GetSelectedItem('select1')", class: 'btn btn-primary' %>
как передать значение, возвращаемое функцией GetSelectedItem, моему контроллеру? (Я уже передаю format = pdf в качестве параметра; но я не уверен, как передать значение, возвращаемое GetSelectedItem)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я не знаю, если это лучшее решение, но вы можете использовать форму внутри раскрывающегося списка, чтобы выбрать вариант, и значение будет отправлено на контроллер.
Вот пример, но вы можете адаптировать его к своему коду:
<%= form_for :pdf, url: forecast_report_pdf_path(format: :pdf) |form| %>
<%= select_tag(:person, :city_id, [['Lisbon', 1], ['Madrid', 2], ...]) %>
<%= form.text_field :name %>
<%= form.submit 'Generate Report', class: 'btn btn-primary'%>
<% end %>
Подробную информацию смотрите в документации по рельсам: https://guides.rubyonrails.org/form_helpers.html
<%= form_tag forecast_report_pdf_path do %>
<%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %>
<%= hidden_field_tag :format, :pdf %>
<%= submit_tag("Generate Report") %>
Наконец я дошел до написания приведенного выше кода, и он сработал !! Большое спасибо за ваш вклад @nicolasnisoria!
Поместите свой элемент управления в форму и сделайте кнопку кнопкой отправки. При нажатии на кнопку все текущее значение элемента управления будет отправлено на ваш контроллер. Вам просто нужно настроить маршрут и действие контроллера. Примеры см. В launchacademy.com/codecabulary/learn-rails/writing-forms.