Я почти уверен, что это какая-то ошибка Javascript, а не ошибка Rails после многочисленных попыток put () для моих идентификаторов ...
То, что я пытаюсь сделать, это сериализовать кучу li с помощью функции сериализации jQuery. Я хочу сделать это на основе пользовательского набора идентификаторов ... В моем случае, podli-1, podli-2, podli-3 и т. Д. Я пытаюсь сделать это с помощью опции сериализации "expression".
Когда я пытаюсь отладить его с помощью предупреждений (как вы можете видеть ниже), я получаю следующее: id = undefined & id = undefined & id = undefined & id = undefined & id = undefined & id = undefined & id = undefined
- это на самом деле правильное число ли, но по какой-то причине все идентификаторы не определены. Как я уже сказал, все это работает в Rails, но есть некоторая ошибка JS.
Вот код Rails.
<% @pods.each do |podli| %>
<% @podli = podli %>
<% @iden = 'podli-' << @podli.id.to_s %>
<li id="<%= @iden %>" class="ui-state-default">
....
</li>
<% end %>
А вот и JavaScript
$(document).ready(function(){
transitions();
//$( "#sortable" ).sortable({containment: 'parent'});
$( "#sortable" ).sortable({ items: '.ui-state-default', containment: 'parent'})//for moving the pods about
$( "#sortable" ).disableSelection();
//$("#newspod" ).val("Enable Sort").closest("#newspod").removeClass("sortable")
$('#sortable').live('sortstop', function(event) {
var u = $(this).sortable('serialize', { key: 'id', expression: /podli-\d/ })// + '&index=' + jQuery(this).attr("id").substring(19);
alert(u);
$.ajax({
type: 'POST',
data: { display_order: u },//$('#receiving-list').sortable('serialize') + '&index=' + jQuery(this).attr("id").substring(19),
url: "<%= sort_dashboards_path %>"
})
});
});