Моя конечная цель - сделать так, чтобы пользователь перетаскивал элементы из списка и помещал их в одно из 5 «ведер». Представьте себе список животных, и вы будете перетаскивать собак и кошек в список млекопитающих, а также змей и игуан в список рептилий и т. Д.
Используя HTML5 Sortable, я могу заставить кого-то перетаскивать элемент в каждый список, но это не сохраняет изменения. Как сделать так, чтобы javascript вызывал действие или маршрут для сохранения элемента после его перемещения?
Это мой основной код
<% @cabins.each do |cabin| %>
<li class="highlight" draggable="true" style="display: list-item;"><%= cabin.name %>-<%= Room.where(name: cabin.name).sum(:clean_time).to_i %></li>
<% end %>
</ul>
Bucket 1
<ul id="sortable5" class="connected sortable list">
<li class="highlight" draggable="true">Item 1
</li><li draggable="true" class="" style="display: list-item;">Item 2
</li><li draggable="true" class="" style="display: list-item;">Item 3
</li><li draggable="true" class="" style="display: list-item;">Item 4
</li><li class="highlight" draggable="true">Item 5
</li></ul>
Bucket 3
<ul id="sortable5" class="connected sortable list">
<li class="highlight" draggable="true">Item 1
</li><li draggable="true" class="" style="display: list-item;">Item 2
</li><li draggable="true" class="" style="display: list-item;">Item 3
</li><li draggable="true" class="" style="display: list-item;">Item 4
</li><li class="highlight" draggable="true">Item 5
</li></ul>
</section>
Это магия JavaScript
$ (function () {
$('#sortable4, #sortable5').sortable({
connectWith: '.connected'
});
});
</script>
Я пытался использовать приведенный ниже код для вызова Ajax, но как мне передать ему переменную rails? А как будет выглядеть маршрут?
$ .Ajax ({
тип: "PUT",
url: "/ cabins / <% = cab.id%>"
});