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 в вашем проекте вам понадобится некоторое знакомство с конвейером ресурсов.