Недавно я работал над демонстрационным веб-приложением, чтобы попытаться узнать больше о ruby на рельсах, и я пытался создать страницу поиска, где пользователи могли бы выполнять поиск по двум атрибутам одновременно - поиск курсов по названию курса и темеЯ бы.Я уже имел дело с ассоциациями на сервере для базы данных и получил рабочую форму поиска после проб и ошибок в течение нескольких часов.Тем не менее, я хочу понять, как и почему это работает, а также то, как конкретно submit_tag в конце знает, какой вход для отправки.
<div class = "row", id = "search_filter">
<div class = "col-md-6">
<%= form_tag("/courses", method: "get") do %>
<%= label_tag :search_field, "Search by course name:" %>
<%= text_field_tag :search_field, params[:search_field] %>
</div>
<div class = "col-md-6">
<%= label_tag :search_dropdown, "Search by subject:" %>
<%= select_tag :search_dropdown, options_from_collection_for_select(Subject.all, "id", "name", params[:search_field]) %>
</div>
<%= submit_tag 'Search', class: "btn btn-md btn-primary", name: nil %>
<% end %>
</div>
Макет выглядит немного странно, потому что я хотел text_field и выпадающее менюбыть рядом и кнопка поиска под ними.Это хорошая реализация для формы или есть лучший способ сделать это (например, используя form_for).Многое из этого было построено с помощью советов из разных мест в Интернете, поэтому я не знаю, нужно ли все, что я включил.Спасибо!