cómo deshabilitar el primer elemento de una lista para que no se pueda ordenar y soltar el objective

Tengo una lista de elementos y quiero que el primer elemento de la lista no se pueda mover ni colocar. El primer elemento de la lista siempre debe permanecer como el primer elemento de la lista. Sin embargo, parece que no consigo que funcione. Aquí está mi código de clasificación:

jQuery -> $('#lineup').sortable( axis: 'y' items: ".ui-state-enabled" cancel: ".ui-state-disabled" update: -> $.post($(this).data('update-url'), $(this).sortable('serialize')) ); 

y estoy usando content_tag_for para cargarlo:

 %ul.nav.nav-tabs.nav-stacked#lineup{"data-update-url" => sort_lineups_url} - @pieces.each_with_index do |piece, index| - if index == 0 = content_tag_for(:li, piece, :class => 'ui-state-disabled') do = link_to "#{(index + 1).to_s + ' - ' + piece.name}", '#' - else = content_tag_for(:li, piece, :class => 'ui-state-enabled') do = link_to "#{(index + 1).to_s + ' - ' + piece.name}", '#' 

¿Qué estoy haciendo mal? nada de lo que hago parece impedir que el primer elemento se clasifique o se mueva

Mmm, es difícil de decir con certeza. No he usado la combinación clasificable / arrastrable, además, la documentación de la interfaz de usuario no aborda expresamente la combinación clasificable / arrastrable.

Sin embargo, por lo que he leído en la documentación, algo como esto debería funcionar:

 $(function() { $("#lineup li").disableSelection().addClass('ui-state-default').eq(0).addClass('ui-state-disabled');//alternatively, write classes as HTML attributes $("#lineup").sortable({ items: "li:not(.ui-state-disabled)" //should disable draggable and sortable }); });