Active-admin выбирает зависимую загрузку в зависимости от первого выпадающего списка

Я новичок в ruby ​​на рельсах и активный админ, мне нужно создать два выпадающих списка, один из которых - местоположение, а другой - игра.

Игра основана на локации, поэтому, если я выберу локацию из выпадающего списка, во втором выпадающем списке должны отображаться игры, связанные с этой локацией.

Вы можете мне помочь?

    form do |f|
       f.inputs do
       f.input :location_id, :as => :select, :collection => Location.all.collect {|var| [var.location, var.id] }
       f.input :game_id, :as => :select, :collection => Game.all.collect {|var| [var.game, var.id] }
    end
    f.actions
end 

1 ответ

Да, это довольно легко. Вам просто нужно включить код Javascript для закрытия и открытия выпадающего списка. Таким образом, когда пользователь нажимает на раскрывающийся список, раскрывающийся список открывается.

Пример jquery для управления событием click

$('.divtobeclicked').click(function() {
     $('.dropdown').toggle()
});

Тогда HTML-код будет выглядеть примерно так: i class="icon.." это потрясающая иконка, поэтому вам нужно будет включить в свой проект потрясающую жемчужину.

<div class="divtobeclicked">
    <i class="icon-task-l"></i>
</div>
<div class="dropdown">
  <ul>
   <li>first option</li>
   <li>first option</li>
   <li>first option</li>
  </ul>
</div>

тогда вам нужно отредактировать эти li так, чтобы они были совместимы с рельсами.

<%= form do |f| %>
    <li><%= f.input :location_id ..... %></li>
    .....
<% end %>

Вы можете легко найти онлайн код CSS / Javascript.

это раскрывающийся список css/html, который необходимо адаптировать для рельсов https://www.w3schools.com/CSS/css_dropdowns.asp

Слышите ли вы найти объяснение о том, как переключить div с помощью javascript из jquery, переключить показ / скрыть div с помощью кнопки?

Для использования javascript, css в вашем проекте вам понадобится некоторое знакомство с конвейером ресурсов.

Другие вопросы по тегам