Выбрать и просмотреть действие с идентификатором, используя form_tag и select_tag? - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь создать форму, которая позволяет мне выбрать объект из раскрывающегося списка, а затем go для отображения, когда я нажимаю кнопку submit_tag. Форма, которую я создал, находится ниже, она выполняет поиск, но не дает прямого просмотра действия с выбранным мной идентификатором / параметром.

модель объекта

friendly_id :name, use: [:slugged]

friedlny routes

 get 'chart_path/:id', "facilities#chart", as: :chart_path

_form

<%= form_tag chart_path, controller: 'facilities', method: :get, class: 'ui form' do %>
<%= select_tag :name, options_from_collection_for_select(Facility.where(is_chart_view_enabled: true), "name", "name"), {include_blank: 'Select Facility'} %>
<%= submit_tag 'Search', class: 'ui basic blue button' %>
<% end %>

services_controller

def chart
 @facility = Facility.friendly.find(params[:id)
end

1 Ответ

0 голосов
/ 19 июня 2020

Я не знаю, какую версию rails вы используете. но если вы используете 5+, вы можете попробовать собрать, используя form_with или form_for для более старой версии

form_with документацией

form_for documentation

<%= form_with chart_path, method: :get, class:'ui form' do |f| %>
  <%= f.select :name, options_from_collection_for_select(Facility.where(is_chart_view_enabled: true), "name", "name"), {include_blank: 'Select Facility'} %>
  <%= f.submit 'Search', class: 'ui basic blue button' %>
<% end %>

Совет: еще одна вещь, лучшая практика - не выполнять запросы к базе данных в представлении. вы можете создать помощника для ввода запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...